Re: IF/CASE in SELECT ... WHERE
Hallo Heiko,
ein IF in der WHERE Klausel ist so nicht möglich, deshalb habe ich das
Ganze umgeschrieben. Was allerdings noch fehlt sind ein paar JOIN
Bedingungen zwischen den Tabellen. Ohne JOIN wird die Ergebnismenge
bestimmt falsch und ziemlich groß!
SELECT `Baustoffe`.`BaustoffID` AS `HauptBS_ID`,
`Baustoffe`.`Baustoffart-ID`,
`Baustoffe`.`Stammprojekt`,
`Hilfs_System`.`Auswahl1`,
`Hilfs_System`.`Auswahl2`,
`Hilfs_System`.`AuswahlT1`
FROM `baustoffe`.`bs-prj-link` AS `BS-PRJ-Link`,
`baustoffe`.`baustoffe` AS `Baustoffe`,
`baustoffe`.`hilfs_system` AS `Hilfs_System`,
`baustoffe`.`oekobaudat` AS `Oekobaudat`
WHERE (`Hilfs_System`.`Auswahl1` = 0 AND `Baustoffe`.`Baustoffart-ID`
= 300) OR
(`Hilfs_System`.`Auswahl1` != 0 AND Baustoffe`.`Baustoffart-ID` =
`Hilfs_System`.`Auswahl1`)
sollte dies nicht ausreichen bitte folgende Informationen liefern:
a) Die CREATE TABLE Befehle aller beteiligten Tabellen. Dies läßt sich am Besten mit SHOW CREATE TABLE tbl; erzeugen
b) ausreichend Testdaten in Form von INSERT oder LOAD
c) das gewünschte Ergebnis basierend auf den Testdaten zeigen
Grüße
Thomas