i'd either add case statement return y/n 'all complete?' column or exclude rows 'all complete' = 'y'.
in order 'all complete' set y, id_status's need complete each customer , each code number. each customer can have multiple id's or code_number. i'm having trouble understanding case logic across multiple columns values aren't same. help.
idtable: id id_status customer code_number 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
assuming sql server 2008+:
with cte ( select *, count(*) over(partition customer, code_number) total, sum(case when id_status = 'complete' 1 else 0 end) over(partition customer, code_number) completed dbo.yourtable ) select id, id_status, customer, code_number, case when total = completed 'y' else 'n' end [all complete] cte;
Comments
Post a Comment