einfache MySql Abfrage - stehe gerade auf dem Schlauch...
Hans
- datenbank
Hi,
anscheinend stehe ich gerade auf dem Schlauch, habe eine ganz einfache Abfrage und bekomme nicht das Ergebnis das ich will.
tabelle_1: p_id, p_name,..., g_id
tabelle_2: g_id, g_name,...
Ich will das mir zu jedem ausgewählten Eintrag aus Tabelle 1 der "g_name" in Tabelle 2 angezeigt wird:
$zeit="select p.p_id, p.p_name,..., p.g_id, g.g_name from tabelle_1 p, tabelle_2 g where ... and g.g_id=p.g_id order by p.g_id, p.dob";
Aber diese Abfrage gibt mir jeden ausgewählten Eintrag aus Tabelle 1 mit allen in Tabelle 2 vorkommenden g_namen an (also jeden Datensatz aus Tabelle 1 x-mal, nur jeweils mit anderem g_namen)... Habe auch schon versucht die g.g_id mit auszuwählen, gleiches Ergebniss...
ich sehe den Fehler nicht...
Hoffe ihr könnt mir helfen, danke.
Hans
Hi,
anscheinend stehe ich gerade auf dem Schlauch, habe eine ganz einfache Abfrage und bekomme nicht das Ergebnis das ich will.
tabelle_1: p_id, p_name,..., g_id
tabelle_2: g_id, g_name,...Ich will das mir zu jedem ausgewählten Eintrag aus Tabelle 1 der "g_name" in Tabelle 2 angezeigt wird:
$zeit="select p.p_id, p.p_name,..., p.g_id, g.g_name from tabelle_1 p, tabelle_2 g where ... and g.g_id=p.g_id order by p.g_id, p.dob";
Aber diese Abfrage gibt mir jeden ausgewählten Eintrag aus Tabelle 1 mit allen in Tabelle 2 vorkommenden g_namen an (also jeden Datensatz aus Tabelle 1 x-mal, nur jeweils mit anderem g_namen)... Habe auch schon versucht die g.g_id mit auszuwählen, gleiches Ergebniss...
ich sehe den Fehler nicht...Hoffe ihr könnt mir helfen, danke.
Hans
Du hast dich vertippt... WHERE p.p_id = g.g_id .. Komisch das kein fehler kam
Du hast dich vertippt... WHERE p.p_id = g.g_id .. Komisch das kein fehler kam
Nein, das stimmt schon so, in tabelle_1 (also p.) gibt es das Feld g_id das auf die tabelle_2 verweist
Habe also z.B. den Eintrag
p_id=1
name=hans
...
g_id=3
und in tabelle_2
g_id=3
g_name=irgendwas
Ausgabe soll sein
name=hans, g_name=irgendwas
Grüße,
Hans
Hi,
Problem gelöst. Tja manchmal sieht man den Wald vor lauter Bäumen nicht... lag einfach am Rest der Where abfrage habe da ein paar Datenabgefragt, die sich gegenseitig bedingen und wenn ich diesen Teil komplett in Klammern setzte als eine Where Bedingung dann klappt das natürlich auch....
Trotzdem Danke an alle,
Hans
Hallo,
vielleicht klapt ja:
SELECT * FROM tabelle_1 LEFT JOIN tabelle_2 ON tabelle_1.g_id = tabelle_2.g_id
Ich würde übrigens empfehlen immer die MySQL commands groß zu schreiben. Da hat man einen viel besseren überblick finde ich.
Gruß
Alex