我想根据条件使用案例。但是,如果满足相同ID的条件至少一次,那么我想对具有特定ID的所有行重复1。
目前我正在使用以下内容:
Select case when REPORTING_DATE = Convert(datetime, '2016-11-30') then 1 else 0 end as November
, Reporting_Date
, ID
from TableA
where 1=1
导致
November Reporting_Date ID
0 30-9-2016 A
0 31-10-2016 A
1 30-11-2016 A
但是我想为所有A ID重复1
November Reporting_Date ID
1 30-9-2016 A
1 31-10-2016 A
1 30-11-2016 A
0 30-09-2016 B
0 31-10-2016 B
0 30-09-2016 C
任何想法,我试过分区但它似乎没有工作...... 提前谢谢。
答案 0 :(得分:4)
你可以试试这个。
Select MAX(case when REPORTING_DATE = Convert(datetime, '2016-11-30') then 1 else 0 end) OVER(PARTITION BY ID) as November
, Reporting_Date
, ID
from TableA
where 1=1