J'ai le tableau ci-dessous:MAX Avec l'expression CASE
Critères:
Prenez EndDate de la dernière ligne par ID Si EndDate est nul alors actif Si endDate est non nul alors fermé
TableA
StartDate EndDate ID
04/01/2017 06/30/2017 1
10/01/2017 1
11/01/2017 05/01/2017 2
Résultats attendus:
StartDate EndDate ID CurrentStatus
04/01/2017 06/30/2017 1 Active
10/01/2017 1 Active
11/01/2017 11/02/2017 2 Closed
code Sql:
SELECT *
MAX(CASE WHEN CCP.ENDDATE IS NULL THEN 'Active' END)
OVER (PARTITION BY CCP.ID) AS CURRENT_STATUS
FROM TABLEA CCP
Puis-je ajouter une condition Else pour les clients "Fermé"?
Cela semble être un problème XY. Est-ce que votre objectif est de savoir si les ID ont une date de fin nulle (ou peut-être une date de fin qui n'est pas encore passée, alors tous les enregistrements sont-ils fermés?) (Qu'est-ce qui arrive à la date de fin Id2? envelopper le maximum dans un coalesce et utilisé 'fermé'? – xQbert
Cas _expression_, pas de déclaration. – jarlh