BjurisMedlem sedan juli 2001542 inlägg
Jag håller på att skapar ett lite mer avancerat forum då jag har lite tid över.
däremot så har jag ett problem.
Denna sql fråga fungerar fint.
Link = "SELECT forum.*, member.m_signature FROM forum"&_
" inner join member on forum.f_moderators = member.id"&_
" Order by forum.ID Desc"
Däremot när jag försöker lägga till en inner join till
Link = "SELECT forum.*, member.m_signature, Count(threads.t_forum) AS antal FROM forum"&_
" inner join member on forum.f_moderators = member.id"&_
" inner join threads on forum.id = threads.t_forum"&_
" Order by forum.ID Desc"
För att räkna hur många inlägg det finns så fungerar det inte alls
får ett 500.100 fel
felsvar:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'forum.f_moderators = member.id inner join threads on forum.id = threads.t_forum'.
Sen så är jag lite nyfiken på left, right och inner join vad är skillnaderna i dem?
LarsGMedlem sedan dec. 200012 465 inlägg
Du kan inte blanda count och vanliga kolumner utan att ha en group by.
Jag skulle nog skriva den frågan som
Link = "SELECT f.*, member.m_signature,(select Count(*)
from threads where t_forum = f.forum_id ) AS antal FROM forum f"&_
" inner join member on f.f_moderators = member.id"&_
" Order by f.ID Desc"
Annars så är access speciellt om man vill ha flera inner join, du måste ha med lite parenteser för att det lilla livet skall förstå
select * from (a inner join b on a.id = b.id) inner join c on b.id = c.id
Jag har skrivit ett längre inlägg om olika joins i SQL-forumet, så om du gör en sökning där på tex natural join så borde du hitta något.
Red/
Jag sökte själv:
http://webforum.aleborg.com/forum/showthread.php?s=&threadid=21562&highlight=natural+join
BjurisMedlem sedan juli 2001542 inlägg
LarsG
När jag använder den du föreslog
Link = "SELECT forum.*, member.m_signature,(select Count(*) from threads where t_forum = forum.forum_id ) AS antal FROM forum"&_
" inner join member on forum.f_moderators = member.id"&_
" Order by forum.ID Desc"
(obs modifierad lite)
så får jag följande felmeddelande:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
Vad jag förstår så är detta ett ganska generellt felmeddelande, är det någon fnutt som jag glömt eller vad kan detta bero på?
LarsGMedlem sedan dec. 200012 465 inlägg
Det felet beror (oftast) på att det är något kolumnnamn som är felaktigt.
BjurisMedlem sedan juli 2001542 inlägg
:r :r
hmmm......visst du hade så rätt så rätt.........
jag bugar och bockar, tackar