webForumDet fria alternativet

Får inte ordning på JOIN

Databaser & SQLur Databashanterare & SQL

7 svar · 520 visningar · startad av Inferis

InferisMedlem sedan sep. 2000670 inlägg
#1

Hej!
Försöker få meddelanden att visas från de man har i adressboken (förutom sina egna)
Nu har jag meckat så mycket fram och tillbaka att koden nog är förstörd.

("SELECT M.msg_id, M.uid_fk, M.message, M.created, U.username,M.uploads, FROM messages M, users U JOIN adressbok A ON A.owner='$uid' WHERE A.verified=1 AND M.uid_fk=U.uid AND M.uid_fk='$uid' order by M.msg_id desc limit ") or die(mysql_error());
GildebrandMedlem sedan juni 2009920 inlägg
#2

Kan du inte skriva ut tabellernas struktur, och vad du vill åstadkomma itället för en sql-fråga som inte funkar?

InferisMedlem sedan sep. 2000670 inlägg
#3

adressbok
ID
owner
friend
verified

comments
com_id
comment
msg_id_fk
uid_fk

messages
msg_id
message
uid_fk
uploads

users
uid
username

InferisMedlem sedan sep. 2000670 inlägg
#4

Jag vill visa alla meddelanden från messages där uid_fk = $uid

Men om $uid har vänner (där verified=1) i adressboken så ska dessa vänners uid_fk från messages också visas.

InferisMedlem sedan sep. 2000670 inlägg
#5

Connection.Execute("SELECT M.msg_id, M.uid_fk, M.message, M.created, U.username,M.uploads FROM messages M, users U JOIN adressbok A ON A.owner='$uid' AND A.verified=1 WHERE M.uid_fk=U.uid and M.uid_fk='$uid' order by M.msg_id desc limit 5") or die(mysql_error());

Felet:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM messages M, users U INNER JOIN adressbok A ON A.owner='3' AND A.verified=1 ' at line 1

InferisMedlem sedan sep. 2000670 inlägg
#6

Glöm det där Connection.Execute

InferisMedlem sedan sep. 2000670 inlägg
#7

Här får jag inget felmeddelande, men det är bara mina egna meddelanden som visas:

"SELECT M.msg_id, M.uid_fk, M.message, M.created, U.username,M.uploads FROM messages M, users U INNER JOIN adressbok ON adressbok.owner='$uid' AND adressbok.verified=1 WHERE M.uid_fk=U.uid AND M.uid_fk='$uid' $morequery order by M.msg_id desc limit "

InferisMedlem sedan sep. 2000670 inlägg
#8

Förklaring:
Jag som inloggad ($uid) vill hämta alla uid_fk från messages.

Jag vill även ha mina vänners messages i samma lista.
Från adressbok där owner (är jag med $uid) och verified = 1

Så att jag vill hämta uid_fk från owner i adressbok.

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