Hallo,
"kämpfe" immer noch mit meiner Bilderdatenbank.
Eingentlich funktioniert es so wie gedacht, nur wenn es bei einem Bild mehrere Namen gibt, bekomme ich nicht alle angezeigt...
In der Tabelle bilder werden einem Bild falls vorhanden mehrere Namen (wenn halt mehrere Tiere auf einem Bild sind) mittels einer Nummer zugeordnet (b.tnr1, b.tnr2 usw). Hier soll jetzt eine Verknüpfung mit der Tabelle tierliste erfolgen, wobei die Spalte t.tiernr mit b.tnrX abgeglichen wird und bei Übereinstimmung die Spalte t.name_d1 ausgegeben werden soll.
Die Abfrage dazu hab ich wie folgt zusammengebastelt:
PHP-Code:
SELECT b. bildnr, b.tnr1, b.tnr2, t.tiernr, t.name_d1 FROM bilder b INNER JOIN tierliste t
ON ((b.tnr1 = t.tiernr) or (b.tnr2 = t.tiernr)) ORDER BY b.bildnr
Das Ergebnis (tnr1,tnr2,tiernr brauche ich später nicht, hab ich nur zur Verdeutlichung drin gelassen) sieht dann so aus, der Einfachheit halber aus PHPmyAdmin kopiert
Ich möchte natürlich keine zwei Datensätze als Ergebnis, sondern einen Datensatz, in dem beide unterschiedliche "t.name_d1" ausgegeben werden, also so soll das Ergebnis aussehen:
Bezeichner: bildnr, name_d1, name_d1
Wert: AB0003, Bergsittich, Komodowaran
Problem ist, das ich nicht zweimal die gleiche Spalte abfragen kann, baue ich z. B. in die select Abfrage "GROUP by b.bildnr" ein, habe ich zwar nur einen Datensatz, aber ein "name_d1" verschwindet mir dann, also keine Lösung.
Eine Lösung wäre, in der Ergebnistabelle den Spaltennamen automatisch zu ändern (also aus dem zweiten "name_d1" einen anderen Bezeichner machen), damit er darstellbar ist, weiß aber nicht, ob sowas überhaupt möglich ist...
Die Lösung, die mir eingefallen ist, ist nicht schön, einfach in der Tabelle bilder jeder Spalte b.tnrX in der Tabelle tierliste eine Spalte t.name_dX zuzuordnen, aber das ist der Perfomance der Datenbank sicher nicht förderlich, weil es 10 mal tnrX gibt und das selbe dann später noch mal mit Eigennamen der Tiere, hier gibt es doch sicherlich eine elegantere Lösung...?
Ich hoffe, ich hab das Problem verständlich ausgedrückt und es fällt jemandem was dazu ein,
