webForumDet fria alternativet

Syntaxfel på JOIN, men funkar i Mysql

2 svar · 194 visningar · startad av Pace

PaceMedlem sedan juni 20019 024 inlägg
#1

Access driver, Syntaxfel i JOIN-operation:

SELECT t.T_TopicClosed, t.Forum_ID, t.Topic_ID, t.T_subject, t.T_NoOfRead, t.T_Replies, t.T_Last_Post, t.T_MsgIcon, m.M_Name, t.T_OldForum, f.F_Name
FROM PaceBoard_Members AS m, PaceBoard_Forums AS f
INNER JOIN PaceBoard_Topics AS t ON m.Member_ID = t.T_Originator

Vad är felet?

[r] Gjorde den lite mer överskådlig:

SELECT t.T_TopicClosed
FROM PaceBoard_Members AS m, PaceBoard_Forums AS f
INNER JOIN PaceBoard_Topics AS t ON m.Member_ID = t.T_Originator

------------------
"Tål det inte att skämtas om, är det inte värt att ta på allvar."

[Redigerat av Pace den 29 dec 2001]

PaceMedlem sedan juni 20019 024 inlägg
#2

Hmmm, allt som behövdes var att byta plats på _Members & _Forums i FROM-listan. :l

...FROM aceBoard_Forums AS f, PaceBoard_Members AS m
INNER JOIN PaceBoard_Topics AS t ON m.Member_ID = t.T_Originator

Är det så att det första tabellen i FROM-listan är den som "joinas" med _Topics?

------------------
"Tål det inte att skämtas om, är det inte värt att ta på allvar."

LarsGMedlem sedan dec. 200012 464 inlägg
#3

Är det så att det första tabellen i FROM-listan är den som "joinas" med _Topics?

Nej inte enligt sql-standard. A,B är en förkortning av

A cross join B

så om du skriver inner join efteråt så joinar du med resultatet av den cross joinen. I en cross join så har ordningen mellan tabellerna ingen betydelse. Så det är Access som har lite egenheter för sig.

------------------
essentitia preter non sans multiplicandum

129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)