Daten aus 2 Verschiedenen Tabellen.

Fruitgum

Erfahrenes Mitglied

Hallo,

ich weiß hier gibt es schon ne Menge an Themen mit JOIN. Doch leider ist das ein leidiges Thema für mich. Ich will es einfach nicht verstehen.

ich habe 2 Tabellen, die in Fettschrift sind die pri.Keys

Tabelle 1: user

personID, user, name, nachname

tabelle 2: freunde
freunde_id, user_id, ich_ja, freund_ja, freund_user_id


Tabelle 1 ist klar.

In der Tabelle 2 (freunde) ist es nun so, in der user_id steht meine ID drin und bei freund_user_id steht die ID des freundes drine, für jeden freund gibt es einen neuen Eintrag. Also stehen viele Einträge mit meiner ID (user_id) drin, alle habe einfach nur eine unterschiedliche freund_user_id.

Jetzt rufe ich mit:
SELECT * FROM zettel_freunde WHERE user_id='$user_id'

alle Einträge mit meiner ID auf. die ausgabe (freunde_user_id) zeigen alle IDs meiner Freunde an.

Die freund_user_id sind ja zum schluß ja auch nur user und stehen in der Tabelle 1 drin und haben eine personID. jetzt möchte ich aber eigentlich bei der abfrage der Datenbank nicht nur der IDs von tabelle 2 ausgeben, nein ich möchte die daten von den freunde_user_id aus tabelle 1

Ich habs so versucht:
SELECT name, vorname FROM user JOIN freunde ON freunde.freund_user_id = user.personID WHERE freunde.user_id='$user_id'

aber da geht gar nüscht :eek:


HILLLFFEEEEeeee....!
 
Zuletzt bearbeitet:
Hat sich erledigt hab es ohne JOIN gelöst, aber vielleicht hat mal einer Lust mir zu zeigen wie ich diese SQL-Abfrage:

$query = "SELECT zettel_user.user, zettel_user.personID, zettel_freunde.user_id, zettel_freunde.freunde_user_id FROM zettel_user, zettel_freunde
WHERE zettel_user.personID = zettel_freunde.freunde_user_id AND zettel_freunde.user_id='$user_id'";

als JOIN Abfrage schreibe.
 
Im FROM-Teil den JOIN hinzufügen. Alle WHERE-Bedinungen die zur Tabellenvernüpfing da sind mit ON im JOIN-Teil definieren.

Was ging den bei deinem Versuch nicht? Fehlermeldung?

SQL:
SELECT 
	zettel_user.user, 
	zettel_user.personID, 
	zettel_freunde.user_id, 
	zettel_freunde.freunde_user_id 
FROM zettel_user
	INNER JOIN zettel_freunde
	ON zettel_user.personID = zettel_freunde.freunde_user_id 
WHERE zettel_freunde.user_id='$user_id'
 
Zuletzt bearbeitet von einem Moderator:
Ja, bei mir kam keine Fehlermeldung. Aber es lag daran das ich versucht habe die falsche Tabelle zu JOINEN, also ich habe nicht wirklich neue Datensätze erhalten.

Danke dir, dein JOIN geht super!

Muss das mir mehr ankuckn..

--

Ne dein JOIN geht nicht! Sach mal muss die Datenbank anders angelegt werden? InnoDB oder so?



Grüße
 
Zuletzt bearbeitet:
Zurück