Archiv verlassen und diese Seite im Standarddesign anzeigen : [ Problem ] SQL Statement
Hi,
folgendes statement:
select user.*,
ugroup.*,
title.*
from user AS user,
usergroup AS ugroup,
usertitle AS title
where user.user_id = 2
and user.user_usergroup_id = ugroup.usergroup_id
and ugroup.usergroup_usertitle_id = title.usertitle_id;
leider tut das auf mysql net... ?(
und ich find den fehler net... :(
thanks
Das Problem liegt vermutlich in der "FROM"-Anweisung. Lass die "AS" weg, sie werden nur bei "SELECT" gebraucht! Der korrekte Code lautet:
select user.*,
ugroup.*,
title.*
from user user,
usergroup ugroup,
usertitle title
where user.user_id = 2
and user.user_usergroup_id = ugroup.usergroup_id
and ugroup.usergroup_usertitle_id = title.usertitle_id;
Hinweis 1:
Allerdings macht diese Abkürzung keinen Sinn. Normalerweise verwendet man Abkürzungen für die Tabellennamen in Form von kurzen (1-2 Buchstaben) langen Kürzel.
Hinweis 2:
Das "AS" wird in der "SELECT"-Bedingung gebraucht, wenn du z.B. in mehreren Spalten gleiche Bezeichnungen hast. Dann kannst du z.B. mit
SELECT a.id AS a_id, b.id AS b_id FROM tab1 a, tab2 a
die Spaltennamen "a_id" und "b_id" verwenden (falls keine "AS .." angegeben werden, heissen beide Spalten "id"!).
Hope that helps!
cu Urs
Original von ubol
Hinweis 1:
Allerdings macht diese Abkürzung keinen Sinn. Normalerweise verwendet man Abkürzungen für die Tabellennamen in Form von kurzen (1-2 Buchstaben) langen Kürzel.
das sind auch nich die original tabellennamen... ;)
aber ich werd mal schauen, ob das was bringt mit dem AS ... ?(
thanks
lag NICHT an den AS... :/ ... hier das richtige statement... scheinbar hat mysql ´n bissl probs mit den where klauseln...
SELECT user.*,
usergroup.*,
usertitle.*
FROM user
LEFT JOIN usergroup
ON user.user_usergroup_id = usergroup.usergroup_id
LEFT JOIN usertitle
ON usergroup.usergroup_usertitle_id = usertitle.usertitle_id
WHERE user.user_username = ´$user_username´ ");
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.