Ritschy
2004-01-25, 11:51:32
Hallo,
ich bin gerade dabei eine PHP-basierte Homepage zu basteln, doch jetzt bin ich auf folgendes Problem gestoßen: Ich habe zwei MySQL Tabellen, die ich in einer Abfrage verbinden will. Folgendes Szenario:
erste Tabelle, enthält einen Primärschlüssel sowie eine Beschreibung:
1|Beschreibung1
2|Beschreibung2
3|Beschreibung3
.
.
.
zweite Tabelle, enthält einen Primärschlüssel, weitere Attribute sowie zweimal einen Verweis auf die erste Tabelle:
1|Attribut1|...|1|2
2|Attribut1|...|2|3
3|Attribut1|...|1|3
.
.
.
Ich hätte jetzt gerne eine Tabelle als Ausgabe, die folgendermaßen aussieht (Basierend auf Tabelle zwei mit den Beschreibungen aus Tabelle 1 statt den Verweisen):
1|Attribut1|...|Beschreibung1|Beschreibung2
2|Attribut1|...|Beschreibung2|Beschreibung3
3|Attribut1|...|Beschreibung1|Beschreibung3
.
.
.
Mit einem inner join erhalte ich jedoch immer folgendes Ergebnis:
1|Attribut1|...|Beschreibung1|Beschreibung1
1|Attribut1|...|Beschreibung2|Beschreibung2
2|Attribut1|...|Beschreibung2|Beschreibung2
2|Attribut1|...|Beschreibung3|Beschreibung3
3|Attribut1|...|Beschreibung1|Beschreibung3
3|Attribut1|...|Beschreibung1|Beschreibung3
Momentan sieht meine Abfrage wie folgt aus:
SELECT Tabelle2.*, Tabelle1.Beschreibung AS a, Tabelle1.Beschreibung AS b FROM Tabelle2 INNER JOIN Tabelle1 ON (Tabelle2.Verweis1 = Tabelle1.Primärschlüssel OR Tabelle2.Verweis2 = Tabelle1.Primärschlüssel)
Das haut natürlich nicht hin. Group By Tabelle2.Primärschlüssel hilft auch nicht, da dann immer nur die erste Beschreibung bei a und b steht. Da gibt es sicher noch einen Trick das Porblem zu lösen oder?
ich bin gerade dabei eine PHP-basierte Homepage zu basteln, doch jetzt bin ich auf folgendes Problem gestoßen: Ich habe zwei MySQL Tabellen, die ich in einer Abfrage verbinden will. Folgendes Szenario:
erste Tabelle, enthält einen Primärschlüssel sowie eine Beschreibung:
1|Beschreibung1
2|Beschreibung2
3|Beschreibung3
.
.
.
zweite Tabelle, enthält einen Primärschlüssel, weitere Attribute sowie zweimal einen Verweis auf die erste Tabelle:
1|Attribut1|...|1|2
2|Attribut1|...|2|3
3|Attribut1|...|1|3
.
.
.
Ich hätte jetzt gerne eine Tabelle als Ausgabe, die folgendermaßen aussieht (Basierend auf Tabelle zwei mit den Beschreibungen aus Tabelle 1 statt den Verweisen):
1|Attribut1|...|Beschreibung1|Beschreibung2
2|Attribut1|...|Beschreibung2|Beschreibung3
3|Attribut1|...|Beschreibung1|Beschreibung3
.
.
.
Mit einem inner join erhalte ich jedoch immer folgendes Ergebnis:
1|Attribut1|...|Beschreibung1|Beschreibung1
1|Attribut1|...|Beschreibung2|Beschreibung2
2|Attribut1|...|Beschreibung2|Beschreibung2
2|Attribut1|...|Beschreibung3|Beschreibung3
3|Attribut1|...|Beschreibung1|Beschreibung3
3|Attribut1|...|Beschreibung1|Beschreibung3
Momentan sieht meine Abfrage wie folgt aus:
SELECT Tabelle2.*, Tabelle1.Beschreibung AS a, Tabelle1.Beschreibung AS b FROM Tabelle2 INNER JOIN Tabelle1 ON (Tabelle2.Verweis1 = Tabelle1.Primärschlüssel OR Tabelle2.Verweis2 = Tabelle1.Primärschlüssel)
Das haut natürlich nicht hin. Group By Tabelle2.Primärschlüssel hilft auch nicht, da dann immer nur die erste Beschreibung bei a und b steht. Da gibt es sicher noch einen Trick das Porblem zu lösen oder?