Hallo liebe selfphp.de Member,
derzeit beschäftige ich mich mit folgender Problemstellung:
Beispieltabellen:
tbl_auto
Code:
-> tbl_auto.id
-> tbl_auto.reifen
...
tbl_boot
Code:
-> tbl_boot.id
-> tbl_boot.segel
...
tbl_flasche
Code:
-> tbl_flasche.id
-> tbl_flasche.verschluss
...
tbl_container
Code:
-> tbl_container.id
-> tbl_container.ext_id
-> tbl_container.typ
-> tbl_container.kommentar
-> tbl_container.datum
..
So. Nun möchte ich je nach typ (tbl_container.typ) die dafür bestimmte Tabelle mit dessen Feldern abfragen. Sprich, ist der Typ 'auto', sollen alle Felder der Tabelle tbl_auto abgefragt werden, usw.
Wenn das dann funktioniert, sollen je nach Tabelle (auto, flasche, boot) auch in dem WHERE Bereich die einzelnen Tabellen abgefragt werden... mit IF?)
Das Ganze habe ich mit IF versucht, da es bei CASE nicht geklappt hat. Nur leider kann ich bei IF nur einen Datenwert abfragen. Wie ich mehrere Abfragen kann... dahinter komme ich einfach nicht. Und die Dokumentation von MySQL finde ich dazu auch sehr dürftig...
Auch habe ich noch nicht rausgefunden, wie ich die zweite Bedingung, also das ELSE, weglassen kann, da ich die Ausgabe eigentlich nicht benötige. Ich hoffe es weiß jemand eine Lösung auf das Problem oder vielleicht sogar eine bessere Struktur in diesem Fall, dass man so eine Lösung gar nicht erst benötigt.
FUNKTIONIERT, aber nicht so wie ich will, - ohne IF in WHERE
PHP-Code:
SELECT
IF( tbl_container.typ = 'auto', tbl_auto.reifen, NULL ),
tbl_container.id
FROM
tbl_container,
tbl_auto
LIMIT 0 , 30
FUNKTIONIERT NICHT (so wie ichs mir vorstellen würde ^^ - ohne IF in WHERE)
PHP-Code:
SELECT
IF( tbl_container.typ = 'auto', (tbl_auto.id, tbl_auto.reifen) ),
tbl_container.id
FROM
tbl_container,
tbl_auto
LIMIT 0 , 30
Gruß,
Zeussi