2017-01-24 3 views
0

Ich habe eine Anwendung in MS SQL-Server abfragen, wo ich überwachen, wenn einzelne Aufgaben abgeschlossen sind und ich möchte eine Spalte hinzufügen, um zu identifizieren, ob alle einzelnen Aufgaben abgeschlossen wurden wie unten gezeigtSQL-Anweisung: Wenn alle Aufgaben für eine gegebene ID abgeschlossen

tasks, completion_date, additional_column 
task_1 15-Jan-17 
task_1  
task_2 21-Jan-17  COMPLETE 
task_2 06-Jan-17  COMPLETE 
task_2 12-Dec-16  COMPLETE 
task_3 
task_3 21-Dec-16 

Jeder kann mir bitte helfen? Vielen Dank!

+0

Willkommen bei SO. Bitte nimm die [Tour] und lies [ask]. – OldProgrammer

Antwort

2

Ich denke, der einfachste Weg ist, ANSI-Standard-Fensterfunktionen zu verwenden. Hier ist eine Methode:

select t.*, 
     (case when count(*) over (partition by task) = count(completion_date) over (partition by task) 
      then 'Complete' 
     end) as additional_column 
from t; 
+0

Danke !! Es hat geklappt :-) –

Verwandte Themen