Hallo,
ich stehe im Moment etwas auf dem Schlauch. Zwecks Update möchte ich aus einer Tabelle Sätze filtern. Das Feld_A der Tabelle hat einen, keinen oder mehrere korrespondierende Elemente in Feld C. Es sollen nur solche Sätze gelistet werden für die gilt: Feld_D hat hat ausschließlich den Status "inaktiv". Ist schwer mit Worten zu beschreiben. Beispiel:
CREATE TABLE test (
Feld_A character(7),
Feld_B character(7),
Feld_C character(7),
Feld_D character(7)
);
und
INSERT INTO test (Feld_A, Feld_B, Feld_C, Feld_D) VALUES ('1', 'aktiv' , '1', 'inaktiv');
INSERT INTO test (Feld_A, Feld_B, Feld_C, Feld_D) VALUES ('2', 'inaktiv', '1', 'inaktiv');
INSERT INTO test (Feld_A, Feld_B, Feld_C, Feld_D) VALUES ('3', 'aktiv' , '3', 'inaktiv');
INSERT INTO test (Feld_A, Feld_B, Feld_C, Feld_D) VALUES ('4', 'aktiv' , '3', 'aktiv');
INSERT INTO test (Feld_A, Feld_B, Feld_C, Feld_D) VALUES ('5', 'aktiv' , '5', 'inaktiv');
INSERT INTO test (Feld_A, Feld_B, Feld_C, Feld_D) VALUES ('6', 'inaktiv', '6', 'inaktiv');
Die Tabelle sieht das so aus:
Feld_A Feld_B Feld_C Feld_D
1 aktiv 1 inaktiv
2 inaktiv 1 inaktiv
3 aktiv 3 inaktiv
4 aktiv 3 aktiv
5 aktiv 5 inaktiv
6 inaktiv 6 inaktiv
Das gewünschte Ergebnis wäre:
Satz 1 und Satz 5. Satz 1, weil alle Sätze die in Feld_C eine 1 haben im Feld_D "inaktiv" stehen haben und Satz 5, weil alle Sätze, die im Feld_C eine 5 haben im Feld_D "inaktiv" stehen haben. Satz 3 gehört nicht zur Lösungsmenge weil einer der Sätze mit 3 in Feld_C in Feld_D "aktiv" stehen hat.
Wer kann mir auf die Sprünge helfen?
Danke und Gruß
Andreas
ich stehe im Moment etwas auf dem Schlauch. Zwecks Update möchte ich aus einer Tabelle Sätze filtern. Das Feld_A der Tabelle hat einen, keinen oder mehrere korrespondierende Elemente in Feld C. Es sollen nur solche Sätze gelistet werden für die gilt: Feld_D hat hat ausschließlich den Status "inaktiv". Ist schwer mit Worten zu beschreiben. Beispiel:
CREATE TABLE test (
Feld_A character(7),
Feld_B character(7),
Feld_C character(7),
Feld_D character(7)
);
und
INSERT INTO test (Feld_A, Feld_B, Feld_C, Feld_D) VALUES ('1', 'aktiv' , '1', 'inaktiv');
INSERT INTO test (Feld_A, Feld_B, Feld_C, Feld_D) VALUES ('2', 'inaktiv', '1', 'inaktiv');
INSERT INTO test (Feld_A, Feld_B, Feld_C, Feld_D) VALUES ('3', 'aktiv' , '3', 'inaktiv');
INSERT INTO test (Feld_A, Feld_B, Feld_C, Feld_D) VALUES ('4', 'aktiv' , '3', 'aktiv');
INSERT INTO test (Feld_A, Feld_B, Feld_C, Feld_D) VALUES ('5', 'aktiv' , '5', 'inaktiv');
INSERT INTO test (Feld_A, Feld_B, Feld_C, Feld_D) VALUES ('6', 'inaktiv', '6', 'inaktiv');
Die Tabelle sieht das so aus:
Feld_A Feld_B Feld_C Feld_D
1 aktiv 1 inaktiv
2 inaktiv 1 inaktiv
3 aktiv 3 inaktiv
4 aktiv 3 aktiv
5 aktiv 5 inaktiv
6 inaktiv 6 inaktiv
Das gewünschte Ergebnis wäre:
Satz 1 und Satz 5. Satz 1, weil alle Sätze die in Feld_C eine 1 haben im Feld_D "inaktiv" stehen haben und Satz 5, weil alle Sätze, die im Feld_C eine 5 haben im Feld_D "inaktiv" stehen haben. Satz 3 gehört nicht zur Lösungsmenge weil einer der Sätze mit 3 in Feld_C in Feld_D "aktiv" stehen hat.
Wer kann mir auf die Sprünge helfen?
Danke und Gruß
Andreas