Axel Richter: komplizierte(?) MySql-Abfrage

Beitrag lesen

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        | yes

So, 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|    Y

Hat 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