測試數據
DECLARE @TABLE TABLE
(
yearnbr INT,
weeknbr INT,
restaurant VARCHAR(20),
mealsserved INT
)
INSERT INTO @TABLE VALUES
(2014 ,1 ,'Joes Pasta',5),
(2014 ,2 ,'Joes Pasta',4),
(2014 ,4 ,'Joes Pasta',2)
查詢
SELECT COALESCE(yearnbr,[Year]) AS yearnbr
,COALESCE(weeknbr,[Week]) AS weeknbr
,ISNULL(restaurant, '') AS restaurant
,ISNULL(mealsserved, 0) AS mealsserved
FROM @TABLE t RIGHT JOIN
(
VALUES (YEAR(GETDATE()), 1),
(YEAR(GETDATE()), 2),
(YEAR(GETDATE()), 3),
(YEAR(GETDATE()), 4)
) A([Year],[Week])
ON t.yearnbr = A.[Year] AND t.weeknbr = A.[Week]
結果
╔═════════╦═════════╦════════════╦═════════════╗
║ yearnbr ║ weeknbr ║ restaurant ║ mealsserved ║
╠═════════╬═════════╬════════════╬═════════════╣
║ 2014 ║ 1 ║ Joes Pasta ║ 5 ║
║ 2014 ║ 2 ║ Joes Pasta ║ 4 ║
║ 2014 ║ 3 ║ ║ 0 ║
║ 2014 ║ 4 ║ Joes Pasta ║ 2 ║
╚═════════╩═════════╩════════════╩═════════════╝