Ich möchte entweder eine case-Anweisung hinzufügen, um Y/N für die "All Complete" zurückzugeben. spalte oder schließe alle Zeilen aus, in denen "Alles vollständig" = "Y" ist.Fallanweisung basierend auf mehreren Spaltenwerten
Damit 'All Complete' auf Y gesetzt wird, müssen alle ID_Status für jeden Kunden und jede Codenummer vollständig sein. Jeder Kunde kann mehrere IDs oder Code_Number haben. Ich habe Probleme, die CASE-Logik in mehreren Spalten zu verstehen, in denen die Werte nicht immer gleich sind. Danke für jede Hilfe.
IDTable:
ID ID_Status Customer Code_Number All Complete?
1 Complete Alex 123 Y
2 Complete Alex 123 Y
3 Complete Brian 321 Y
4 Complete Brian 321 Y
5 Open Brian 425 N
6 Complete Brian 425 N
7 Open Charlie 123 N
8 Complete Charlie 123 N
9 Open Charlie 123 N
10 Complete Donald 555 N
11 Complete Donald 555 N
12 Testing Donald 555 N
13 Complete Eric 620 Y
OP braucht 'Code_Number' auch für' Complete' – techspider
@techspider guter Fang, dank berücksichtigt werden. Aktualisiert meine Antwort – Lamak
Hallo @Lamak, statt CTE verwenden, könnte ich verwenden (Entschuldigung für die Formatierung): SELECT ID, ID_Status, Kunde, Code_Number, CASE WHEN Total = Abgeschlossen THEN 'Y' ELSE 'N' END [Alle abgeschlossen] VON ( SELECT *, COUNT (*) OVER (PARTITION BY Kunde, Code_Number) Total, SUM (CASE WHEN Id_Status = 'Complete' THEN 1 ELSE 0 END) OVER (PARTITION BY Customer, Code_Number) Abgeschlossen VON dbo.YourTable ) – bojackh