Kipperlenny
Erfahrenes Mitglied
Moin Moin
ich habe ne innodb mysql DB - mit drei Tabellen:
bauten (bauten_id, name, ....)
rohstoffe (rohstoffe_id, name, ...)
bauten_needs_rohstoffe (bauten_id, rohstoffe_id, menge)
Nun möchte ich alle Einträge aus "bauten", wenn diese einträge in "bauten_needs_rohstoffe" haben, dann auch die.
Folgende SQL Abfrage habe ich:
bringt auch das richtige Ergebnis -allerdings bei mehreren Einträgen in "bauten_needs_rohstoffe" auch mehrere Zeilen im Ergebnis.
Allerdings hätte ich diese mehreren Einträge gerne in der gleichen Zeile, damit es nicht zu Dopplungen kommt.
Das ganze natürlich in ner Zeichnung veranschaulicht....
Danke!!
lenny
ps: und kann ich im gleichen SQL statement die ID der Rohstoffe durch die Namen ersetzen?
ich habe ne innodb mysql DB - mit drei Tabellen:
bauten (bauten_id, name, ....)
rohstoffe (rohstoffe_id, name, ...)
bauten_needs_rohstoffe (bauten_id, rohstoffe_id, menge)
Nun möchte ich alle Einträge aus "bauten", wenn diese einträge in "bauten_needs_rohstoffe" haben, dann auch die.
Folgende SQL Abfrage habe ich:
Code:
SELECT A . * , B.rohstoffe_id, B.menge
FROM bauten AS A
LEFT OUTER
JOIN bauten_needs_rohstoffe AS B ON A.bauten_id = B.bauten_id
LIMIT 0 , 30
bringt auch das richtige Ergebnis -allerdings bei mehreren Einträgen in "bauten_needs_rohstoffe" auch mehrere Zeilen im Ergebnis.
Allerdings hätte ich diese mehreren Einträge gerne in der gleichen Zeile, damit es nicht zu Dopplungen kommt.
Das ganze natürlich in ner Zeichnung veranschaulicht....
Danke!!
lenny
ps: und kann ich im gleichen SQL statement die ID der Rohstoffe durch die Namen ersetzen?