webForumDet fria alternativet

Hämta från & till från samma inner join

Databaser & SQL

12 svar · 178 visningar · startad av Pace

Medlem sedan juni 20019 024 inlägg
Frågan#1

Jag hämtar både från vem och till, ett meddelande har skickats. Namnen ligger i samma tabell (PaceBoard_Members) och meddelandena ligger i PaceBoard_Messages.

	SQL = "SELECT Message_ID, M_Subject, M_PostDate, fromUser.M_Name, toUser.M_Name" & _
		" FROM PaceBoard_Messages" & _
		" LEFT JOIN PaceBoard_Members AS fromUser ON PaceBoard_Messages.Author_ID = PaceBoard_Members.Member_ID" & _
		" LEFT JOIN PaceBoard_Members AS toUser ON PaceBoard_Messages.Reciever_ID = PaceBoard_Members.Member_ID" & _
		" ORDER BY Author_ID, M_PostDate DESC"

Så här tänkte jag mig (?), men får felmeddelandet [MyODBC]Column: 'Message_ID' in field list is ambiguous

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

Medlem sedan dec. 200012 464 inlägg
#2

Och message_ID finns bara i PaceBoard_Messages ? Om det är så, så tycker jag att det är fel i Mysql.

Du får väl kvalificera kolumnen.

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

Medlem sedan juni 20019 024 inlägg
#3

Hur menar du med att kvalificera?

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

Medlem sedan dec. 200012 464 inlägg
#4

tabellnamn.kolumnnamn

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

Medlem sedan juni 20019 024 inlägg
#5

När jag gör det (PaceBoard_Messages.Message_ID) får jag Unknown table 'PaceBoard_Members' in on clause

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

Medlem sedan juni 20019 024 inlägg
#6

Lyckades lösa det, hade ju glömt att tilldela kolumnerna det nya namnet.
Tack ändå LarsG!

	SQL = "SELECT PaceBoard_Messages.Message_ID, M_Subject, M_PostDate, fromUser.M_Name, toUser.M_Name" & _
		" FROM PaceBoard_Messages" & _
		" LEFT JOIN PaceBoard_Members AS fromUser ON PaceBoard_Messages.Author_ID = fromUser.Member_ID" & _
		" LEFT JOIN PaceBoard_Members AS toUser ON PaceBoard_Messages.Reciever_ID = toUser.Member_ID" & _
		" ORDER BY Author_ID, M_PostDate DESC"

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

Medlem sedan juni 20019 024 inlägg
#7

Hmmm, försökte köra samma kod i Access. Får följande fel:

Microsoft JET Database Engine (0x80040E14)
Syntaxfel (operator saknas) i frågeuttrycket 'PaceBoard_Messages.Author_ID = fromUser.Member_ID LEFT JOIN PaceBoard_Members AS toUser ON PaceBoard_Messages.Reciever_ID = toUser.Member_ID'.

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

Medlem sedan dec. 200012 464 inlägg
#8

Welcome to the standardized word of database management systems.

SQL = "SELECT PaceBoard_Messages.Message_ID, M_Subject, M_PostDate, fromUser.M_Name, toUser.M_Name" & _
" FROM (PaceBoard_Messages" & _
" LEFT JOIN PaceBoard_Members AS fromUser ON PaceBoard_Messages.Author_ID = fromUser.Member_ID)" & _
" LEFT JOIN PaceBoard_Members AS toUser ON PaceBoard_Messages.Reciever_ID = toUser.Member_ID" & _
" ORDER BY Author_ID, M_PostDate DESC"

Det verkar som Access kräver att man använder parenteser om man har flera join. Jag har också för mig att Mysql inte tillåter att man har parenteser på det viset.

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

Medlem sedan juni 20019 024 inlägg
#9

Jag har också för mig att Mysql inte tillåter att man har parenteser på det viset.

Jodå, i detta fallet fungerade det i alla fall bra i både MySQL och Access. Än en gång; tack!

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

Medlem sedan dec. 200012 464 inlägg
#10

Vilken Mysql-version använder du?

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

Medlem sedan juni 20019 024 inlägg
#11

3.23.43

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

Medlem sedan dec. 200012 464 inlägg
#12

Okej, det var någon som hade problem med det, men det var väl någon äldre version.
3.23.43 tyder ju på att dom släpper saker ganska ofta.

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

Medlem sedan juni 20019 024 inlägg
#13

3.23.43:an lär väl vara den senaste versionen som anses vara "stabil". Det finns ju en 4:a också om jag inte minns fel.

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

[Redigerat av Pace den 27 nov 2001]

269 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
139 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
140 ms — ändringar (db)