问题描述
我目前需要进行一个查询,该查询在一周之间的所有天数都基于一周返回,但我需要将它们用作列,以便我可以在该周每天使用行,我举了一个例子,我在这里找到在论坛上
;WITH TestData(N,Order_Date,Net_Amount) AS (
SELECT 1 N,CAST(GETDATE() AS DATE) Order_Date,RAND() * 100 Net_Amount
UNION ALL
SELECT N+1 N,CAST(GETDATE()-N/5 AS DATE) Order_Date,RAND(CHECKSUM(NEWID())) * 100 Net_Amount FROM TestData
WHERE N < 20
)
SELECT TestData.Order_Date,TestData.Net_Amount INTO #Order FROM TestData
SET DATEFirsT 1
;WITH Days(N,DayOfTheWeek) AS (
SELECT 1 N,DATEADD(DAY,1-DATEPART(WEEKDAY,GETDATE()),CONVERT(DATE,GETDATE())) DayOfTheWeek
UNION ALL
SELECT N+1 N,1,DayOfTheWeek) DayOfTheWeek FROM Days
WHERE N < 7
)
SELECT d.DayOfTheWeek,SUM(Net_Amount) TotalAmount
FROM Days d
LEFT JOIN #Order ON d.DayOfTheWeek = Order_Date
GROUP BY d.DayOfTheWeek
这是我的最终结果
但我需要在列而不是行中显示星期几
预期结果
感谢您的帮助
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)