我创建了一个查询,通过使用以下查询获取列-TODAY,TOMORROW,TWO和5,FIVEPLUS:
SELECT COL1,a.COL2,DATE COL3,COL4,
IIF(CONVERT(date, DATE COL3) > (CONVERT(date, GETDATE() - 1)), 1, 0) As Today,
IIF((CONVERT(date, DATE COL3) < CONVERT(date, GETDATE()) AND CONVERT(date, DATE COL3) > (CONVERT(date, GETDATE() - 2))), 1, 0) As Yesterday,
IIF((CONVERT(date, DATE COL3) < (CONVERT(date, GETDATE() - 1)) AND CONVERT(date, DATE COL3) >= (CONVERT(date, GETDATE() - 5))), 1, 0) As TwoAndFive,
IIF(CONVERT(date, DATE COL3) < (CONVERT(date, GETDATE() - 5)), 1, 0) As FivePlus,
FROM [TBLBOOK] a LEFT JOIN
[TBLUSER] b
ON a.COL 1 = b.COL 1
我得到了必要的列,如今天,昨天,两个,五个,五个加上单独的列,但是,除了4列,我想在查询中加入额外的列作为&#34; Day group&#34;使用&#34; date col3&#34;中的数据作为触发器,使用IF条件将列数据填充到今天,昨天等作为新列的数据。与4个不同的切片器相比,我需要在今天,昨天等插入一个切片器。希望我的问题很明确,如果有人可以请你帮忙。
谢谢!
修改
使用上面提到的代码,我得到以下示例表:
col 1,col2,date col3,col4,today,tomorrow,two and five,five plus
我使用通过sql代码创建的上述表数据创建了一个数据透视表和切片器。我想添加另一个列名称&#34; day group&#34;今天,明天,两个,五个,五个加上作为新专栏的数据。我能够使用&#34;添加一个列。 if statement&#34;在Excel工作表示例中:=IF([@Days]<0,"Today",(IF([@Days]<1,"Yesterday",(IF([@Days]<6,"2-5 Days","> 5 Days")))))
但我想使用上面的代码返回新列。
答案 0 :(得分:0)
您想要使用的是一个简单的案例陈述。请找到修改过的sql。
SELECT COL1,a.COL2,DATE as COL3,COL4,
IIF(CONVERT(date, DATE COL3) > (CONVERT(date, GETDATE() - 1)), 1, 0) As Today,
IIF((CONVERT(date, DATE COL3) < CONVERT(date, GETDATE()) AND CONVERT(date, DATE COL3) > (CONVERT(date, GETDATE() - 2))), 1, 0) As Yesterday,
IIF((CONVERT(date, DATE COL3) < (CONVERT(date, GETDATE() - 1)) AND CONVERT(date, DATE COL3) >= (CONVERT(date, GETDATE() - 5))), 1, 0) As TwoAndFive,
IIF(CONVERT(date, DATE COL3) < (CONVERT(date, GETDATE() - 5)), 1, 0) As FivePlus,case
when CONVERT(date, DATE COL3) > (CONVERT(date, GETDATE() - 1)) then 'Today'
when CONVERT(date, DATE COL3) < CONVERT(date, GETDATE()) AND CONVERT(date, DATE COL3) > (CONVERT(date, GETDATE() - 2))) then "Yesterday"
when CONVERT(date, DATE COL3) < (CONVERT(date, GETDATE() - 1)) AND CONVERT(date, DATE COL3) >= (CONVERT(date, GETDATE() - 5)))then "TwoAndFive"
when CONVERT(date, DATE COL3) < (CONVERT(date, GETDATE() - 5))then "FivePlus"
else
"" end as [Day group] FROM [TBLBOOK] a LEFT JOIN
[TBLUSER] b
ON a.COL 1 = b.COL 1