Désolé si la question était libellée bizarre.
J'écris un rapport et j'ai une table qui a des champs comme celui-ci ….
applicationID statusid statuscreationdate 123 1 3-18-2013 123 2 3-27-2013 124 1 3-29-2013 125 1 4-1-2013 125 2 4-3-2013
Et je veux seulement returnner des rangées avec un statusid de 1 MAIS je veux aussi vérifier si un statusid de 2 existe pour chaque applicationid. Ainsi, la requête souhaitée sur le tableau ci-dessus produirait:
123 3-18-2013 125 4-1-2013
Toute aide serait appréciée. Si plus d'informations sont nécessaires, faites le moi savoir. Je voulais garder cela aussi court et simple que possible tout en incluant la quantité d'informations nécessaire.
Merci pour votre time.
Edit: corrigé la partie des résultats souhaités
essayer
Select * From TableName t Where statusID = 1 And Exists(Select * From tablename Where applicationID = t.applicationID And statusID = 2)
Ce problème est appelé Relational Division
SELECT applicationID, MAX(statuscreationdate) date FROM TableName WHERE statusID IN (1, 2) -- list of statusID GROUP BY applicationID HAVING COUNT(DISTINCT statusID) = 2 -- no of statusID