Ci-dessous un tableau:Mise en forme conditionnelle sur la valeur MAX ligne
Paration par ID & capture la ligne de MAX
valeur lorsque rôle = rouge
ID Role HistID Date Style
1 Yellow 101 1/1/17 M
1 Red 101 1/2/17 F
1 Red (Null) 1/5/17 C
2 Blue 101 5/1/17 a
2 Yellow 201 4/1/17 b
2 Red 301 5/5/17 C
3 Yellow (Null)
Referece les lignes ci-dessous:
ID Role HistID Date Style
1 Red (Null) 1/5/17 c
2 Red 301 5/5/17 c
Maintenant, en fonction de ces lignes, appliquez une condition.
WHEN HistID IS NOT NULL and Style = C THEN 'Assigned'
ELSE'Unassigned'
END Status
Sortie:
ID Role HistID Date Style Status
1 Yellow 101 1/1/17 M Unassigned
1 Red 101 1/2/17 F Unassigned
1 Red (Null) 1/5/17 C Unassigned
2 Blue 101 5/1/17 a Assigned
2 Yellow 201 4/1/17 b Assigned
2 Red 301 5/5/17 C Assigned
3 Yellow (Null) Unassigned
Pas tellement la réponse ici, je voudrais comprendre et apprendre la syntaxe derrière l'application MAX
, Case Expression
et Keep
clause.
pas sûr que donner la réponse que je demande. la sous-requête trouvera toute ligne correspondant à ce critère. Je suis à la recherche de la ligne MAX par ID, puis appliquer une condition. –
@JoJo. . . Ceci trouve le maximum par identifiant. Comprenez-vous comment fonctionnent les fonctions de la fenêtre? Je devrais également noter que la sous-requête n'est pas nécessaire. Je trouve juste que cela rend la requête plus lisible. –
mais je veux trouver la ligne maximale où le rôle = rouge par ID. Ensuite, une fois que j'ai ces lignes identifiées, appliquer une déclaration conditionnelle de. Si (cette ligne max nous venons de trouver) cette ligne = histid n'est pas nulle et style = c l'assigné. sinon non affecté. –