PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ Problem ] SQL Statement


pate33
20.02.2002, 16:36
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


ubol
20.02.2002, 17:09
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

pate33
20.02.2002, 18:05
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

pate33
21.02.2002, 09:18
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´ ");