Rain
Lieutenant
- Registriert
- Mai 2003
- Beiträge
- 704
Hallo,
folgendes Problem:
Ich hab eine Tabelle `buchungen` versehen mit ID und den Infos. Dann gibt es eine 2. Tabelle `buchungen_detail`, wo die ID wieder auftaucht und zu der ID es 1 bis X Einzelpositionen (Nr) gibt. In buchungen sind also die Kopfinfos und in buchungen_details die eigentlichen Buchungen.
Nun gibt es in der `buchung_details` noch einen Status, der 0,1 oder 2 annehmen kann (= Bearbeitsungsstatus). Nun benötige ich 2 Abfragen, wovon eine schon funktioniert.
Es sollen:
a) alle ID's angezeigt werden, bei denen in den Einzelpositionen der Status 0 vorkommt und
b) alle ID's angezeigt werden, bei denen in den Einzelpositionen der Status 0 NICHT vorkommt
(zum Verständnis: 0 = unbearbeitet)
a) funktioniert mit der Abfrage:
sobald eine 0 gefunden wird, gibt er die ID aus. Super. Für b) kann ich aber leider nicht sagen WHERE `Status` <> '0', hier gibt er IDs zurück, wo durchaus eine 0 vorkommt, zB bei ID 11, da Nr 1-3 eine 1 haben, aber 4 eine 0.
Ist mein Problem irgendwie sql'ig lösbar?
folgendes Problem:
Ich hab eine Tabelle `buchungen` versehen mit ID und den Infos. Dann gibt es eine 2. Tabelle `buchungen_detail`, wo die ID wieder auftaucht und zu der ID es 1 bis X Einzelpositionen (Nr) gibt. In buchungen sind also die Kopfinfos und in buchungen_details die eigentlichen Buchungen.
Nun gibt es in der `buchung_details` noch einen Status, der 0,1 oder 2 annehmen kann (= Bearbeitsungsstatus). Nun benötige ich 2 Abfragen, wovon eine schon funktioniert.
Es sollen:
a) alle ID's angezeigt werden, bei denen in den Einzelpositionen der Status 0 vorkommt und
b) alle ID's angezeigt werden, bei denen in den Einzelpositionen der Status 0 NICHT vorkommt
(zum Verständnis: 0 = unbearbeitet)
a) funktioniert mit der Abfrage:
Code:
SELECT * FROM `buchungsanfragen` WHERE `ID` = ANY (SELECT `ID` FROM `buchungsanfragen_detail` WHERE `Status` = '0') ORDER BY `ID` desc;
sobald eine 0 gefunden wird, gibt er die ID aus. Super. Für b) kann ich aber leider nicht sagen WHERE `Status` <> '0', hier gibt er IDs zurück, wo durchaus eine 0 vorkommt, zB bei ID 11, da Nr 1-3 eine 1 haben, aber 4 eine 0.
Ist mein Problem irgendwie sql'ig lösbar?