F
FanClub
Hallo,
ich habe ein Problem mit einem SQL-Statement.
Zunächst gehen wir davon aus, ich habe zwei Tabellen, in einer davon sind Veranstaltungen und in der anderen Tabelle sind die Kosten dieser Veranstaltungen.
Eine Veranstaltung kann mehrere Kostensätze haben. Diese Kostensätze können den Status "Geprüft" "J" oder "N" annehmen.
Nun möchte ich gerne die Veranstaltungen ausgeben. Wichtig dabei ist, sobald eine Veranstaltung einen Kostensatz auf Geprüft "N" hat, soll diese Veranstaltung auch mit Geprüft = "N" ausgegeben werden.
Eine Veranstaltung darf nur den Status Geprüft "J" tragen, wenn alle Kostensätze geprüft sind und daran scheitert es, da ich auch Datensätze ausgegeben bekomme wo der Status Geprüft einiger Kostensätze auf "N" steht und andere Kostensätze der Veranstaltung auf "J".
Mein bisheriger Versuch war der:
Das eigentliche SQL-Statement ist noch um einiges Komplexer aber die Kurzform sollte zunächst genügen.
mfg FanClub
ich habe ein Problem mit einem SQL-Statement.
Zunächst gehen wir davon aus, ich habe zwei Tabellen, in einer davon sind Veranstaltungen und in der anderen Tabelle sind die Kosten dieser Veranstaltungen.
Eine Veranstaltung kann mehrere Kostensätze haben. Diese Kostensätze können den Status "Geprüft" "J" oder "N" annehmen.
Nun möchte ich gerne die Veranstaltungen ausgeben. Wichtig dabei ist, sobald eine Veranstaltung einen Kostensatz auf Geprüft "N" hat, soll diese Veranstaltung auch mit Geprüft = "N" ausgegeben werden.
Eine Veranstaltung darf nur den Status Geprüft "J" tragen, wenn alle Kostensätze geprüft sind und daran scheitert es, da ich auch Datensätze ausgegeben bekomme wo der Status Geprüft einiger Kostensätze auf "N" steht und andere Kostensätze der Veranstaltung auf "J".
Mein bisheriger Versuch war der:
Code:
SELECT count(decode(sum(decode (ko_geprueft,'J',0,'N',1)), 0, 'J', 'N')) FROM vg,ko WHERE vg.vg_id=ko.ko_vg_id AND ko.ko_geprueft LIKE 'J';
Das eigentliche SQL-Statement ist noch um einiges Komplexer aber die Kurzform sollte zunächst genügen.
mfg FanClub