比如 我查詢2020-7-1至2020-7-13這段時間,現有表A(USERID,FNAME) 資料分別是 1001 張三
1002 李四
我要實作查詢結果如下:
1001 2020-7-1 上午
1001 2020-7-1 下午
1001 2020-7-2 上午
1001 2020-7-2 下午
。。。 。。。 。。。
1001 2020-7-13 上午
1001 2020-7-13 下午
1002 2020-7-1 上午
1002 2020-7-1 下午
1002 2020-7-2 上午
1002 2020-7-2 下午
。。。 。。。 。。。
1002 2020-7-13 上午
1002 2020-7-13 下午
uj5u.com熱心網友回復:
CREATE TABLE #T
(USER_ID VARCHAR(4),
FNAME NVARCHAR(10))
INSERT INTO #T
SELECT '1001','張三' UNION ALL
SELECT '1002','李四'
DECLARE @START_DATE DATE
DECLARE @END_DATE DATE
SET @START_DATE='2020-07-01'
SET @END_DATE='2020-07-13'
SELECT USER_ID,DATEADD(DAY,NUMBER,@START_DATE) AS DT,DAY_PART
FROM MASTER.DBO.SPT_VALUES A
JOIN
(SELECT '上午' AS DAY_PART
UNION ALL
SELECT '下午') AS B ON 1=1
JOIN #T AS C ON 1=1
WHERE TYPE='P' AND NUMBER<=DATEDIFF(DAY,@START_DATE,@END_DATE)
ORDER BY USER_ID,DT
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/17873.html
標籤:應用實例
上一篇:sql觸發器
下一篇:求大佬分享點網盤的基礎
