aide-t sql auto rejoindre
-
26-09-2019 - |
Question
Basé sur le tableau suivant
ID Date State
-----------------------------
1 06/10/2010 Complete
1 06/04/2010 Pending
2 06/06/2010 Active
2 06/05/2010 Pending
Je veux que le suivant ouptut
ID Date State
---------------------------
1 06/04/2010 Complete
2 06/05/2010 Active
Date est donc plus tôt un et de l'État est la plus récente. Je suis à défaut d'appliquer l'auto jointure sur la table pour obtenir la sortie.
Merci
La solution
Utilisation:
SELECT t.id,
MIN(t.date),
(SELECT TOP 1
x.state
FROM TABLE x
WHERE x.id = t.id
ORDER BY x.date DESC)
FROM TABLE t
GROUP BY t.id
Autres conseils
select ID, min(Date) Date, (select State
from tbl
where ID = t.ID and
Date = (select max(Date)
from tbl
where ID = t.ID)) State
from tbl t
group by ID
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow