Problem bei einem JOIN zw. zwei Tabellen, (Daten aus beiden Tabellen auslesen)

CookieBuster

Erfahrenes Mitglied
So, hallöchen.

Ich brüchte jemand der mir einen Schubs in die richtige Richtung gibt. Ich versuche mit meinem Query die Userdaten aus der Datenbank zu hohlen. Aus Performacegründen natürlich in einem Query und nicht zweien.
Joins hab ich mir leider bisher nur leidlich angeeignet... wie man als geübter hier wohl direkt sehen kann..

Ich habe folgende zwei Tabellen:

SQL:
--User
id  |  nickname  |  is_admin  |  *andere spalten*

--user_data
gold  |  points  |  faster_dungeon  |  *andere Spalten*

Ich habe versucht mit folgendem Query alle oben gegebenen Spalten auszulesen (natürlich auch im Query abzulesen)
Ich hätte gerne die Daten aus beiden Tabellen.

SQL:
SELECT 
	`user`.`id`, 
	`user`.`nickname`, 
	`user`.`is_admin`, 
    `user_data`.`gold`, 
	`user_data`.`points`, 
	`user_data`.`faster_dungeon` 
FROM 
	`user`, 
    `user_data`  
LEFT JOIN 
	`user` AS uj ON `user_data`.`user_id` = uj.`id` 
WHERE 
	LOWER(`user`.`nickname`) = ?

e:/ Der erste Fehler ist behoben, hab die Änderung direkt in mein Statement eingetragen. Jetzt ergibt sich ein neues Problem. Der Vergleich zw den zwei Spalten über die Verknüpfungsspalte funktioniert nicht. Ich bekomme den falschen Eintrag aus der Tabelle `user_data`, hier wird wie es scheint, einfach die erste Zeile ausgelesen, nicht diejenige, in welcher die id übereinstimmt...


Wäre nett wenn mir jemand nen Stups in die richtige Richtung gibt, ich komm einfach nicht drauf :(
(Sollte ich was vergessen haben zu erwähnen, einfach melden. Ich sollte aber eig alles relevante erwähnt haben)
 
Zuletzt bearbeitet von einem Moderator:
du hast 2 mal die Tabelle user und nicht user_data

HTML:
SELECT
  u.id,
  u.nickname,
  u.is_adim,
  ud.gold,
  ud.points,
  ud.faster_dungeon
FROM user AS u
LEFT JOIN user_data AS ud on ud.user_id = u.id
WHERE
 LOWER(u.nickname) = ?
 
Zuletzt bearbeitet:
Zurück