sql server中需要循环输出某个按规律的sql语句,并且该sql语句执行之后就是一列,如何写循环
SELECT
T1.UDR_ID,
SUM(CASE
WHEN T1.STD_DATE = '20150101' AND T1.DAY_NO < '7' THEN 1
ELSE 0
END) '20150101',
SUM(CASE
WHEN T1.STD_DATE = '20150102' THEN 1
ELSE 0
END) '20150102',
SUM(CASE
WHEN T1.STD_DATE = '20150103' THEN 1
ELSE 0
END) '20150103',
SUM(CASE
WHEN T1.STD_DATE = '20150104' THEN 1
ELSE 0
END) '20150104',
SUM(CASE
WHEN T1.STD_DATE = '20150105' THEN 1
ELSE 0
END) '20150105',
SUM(CASE
WHEN T1.STD_DATE = '20150106' THEN 1
ELSE 0
END) '20150106',
SUM(CASE
WHEN T1.STD_DATE = '20150107' THEN 1
ELSE 0
END) '20150107',
SUM(CASE
WHEN T1.STD_DATE = '20150108' THEN 1
ELSE 0
END) '20150108',
SUM(CASE
WHEN T1.STD_DATE = '20150109' THEN 1
ELSE 0
END) '20150109',
SUM(CASE
WHEN T1.STD_DATE = '20150110' AND T1.DAY_NO = '7' THEN 9
WHEN T1.STD_DATE = '20150110' AND T1.DAY_NO < '7' THEN 1
WHEN T1.STD_DATE='20150110' AND T1.DAY_NO='7' AND T1.UDR_ID IS NULL THEN 9
ELSE 0
END) '20150110',
SUM(CASE
WHEN T1.STD_DATE = '20150111' AND T1.DAY_NO = '7' THEN 9
WHEN T1.STD_DATE = '20150111' AND T1.DAY_NO < '7' THEN 1
ELSE 0
END) '20150111',
SUM(CASE
WHEN T1.STD_DATE = '20150112' THEN 1
ELSE 0
END) '20150112'
FROM SR_LIST T1
GROUP BY T1.UDR_ID
------
1.主要是为了做一个稼动率统计,将一个月的每天去循环和数据中的STD_DATE比较
2.如何将上面的sum(case when T1.STD_DATE=日期参数 AND T1.DAY_NO='7' THEN 9
WHEN T1.STD_DATE = 日期参数 AND T1.DAY_NO = '7' THEN 9
WHEN T1.STD_DATE = '日期参数 AND T1.DAY_NO < '7' THEN 1
ELSE 0
END) 日期参数
动态写入,根据月份产生动态列