Hallo,
ich hoffe ich krieg das halbwegs verständlich erklärt was ich will. Vielleicht erstmal ne Beispieltabelle:
Datum | Produkt | Arbeitschritt | Erfolg
01.01.09| X | A | yes
02.01.09| X | B | yes
01.01.09| Y | A | no
02.01.09| Y | A | yes
03.01.09| Y | B | yes
02.01.09| Z | A | yesSo, und nun hätte ich ganz gerne alle erfolgreichen Arbeitschritte 'A' mit Datum und Produktnamen, bei denen Arbeitsschritt 'B' bereits erfolgreich war. Die Produktnamen sind mir im Vorfeld nicht bekannt.
Die Ausgabe sollte also nach meinen Vorstellungen so aus sehen:
Datum | Produkt
01.01.09| X
02.01.09| YHat jemand einen Vorschlag für mich?
Überlegung hierzu:
... WHERE Arbeitsschritte = "A" AND Erfolg = "yes" AND Arbeitsschritte = "B" AND Erfolg = "yes"
würde innerhalb einer Tabelle natürlich keine Ergebnisse bringen. Man kann aber eine Tabelle mit sich selbst JOINen und dann:
... WHERE Tabelle1.Arbeitsschritte = "A" AND Tabelle1.Erfolg = "yes" AND Tabelle1a.Arbeitsschritte = "B" AND Tabelle1a.Erfolg = "yes"
schreiben.
SELECT Tabelle1.Datum, Tabelle1.Produkt
FROM Tabelle1 INNER JOIN Tabelle1 AS Tabelle1a ON Tabelle1.Produkt = Tabelle1a.Produkt
WHERE Tabelle1.Arbeitsschritte="A" AND Tabelle1.Erfolg="yes" AND Tabelle1a.Arbeitsschritte="B" AND Tabelle1a.Erfolg="yes";
viele Grüße
Axel