我有一张表,用于存储一周中的几天的数据。即使在我的表中没有任何一周中的某一行,我也想为每周的每一天返回一行。这是我当前的sql select语句。SQL:我如何使用仅表示本周某几天的数据显示本周的全部7天内容?
SELECT StoreID,
CASE
WHEN S.[DayOfWeek] = 1 THEN 'Sunday'
WHEN S.[DayOfWeek] = 2 THEN 'Monday'
WHEN S.[DayOfWeek] = 3 THEN 'Tuesday'
WHEN S.[DayOfWeek] = 4 THEN 'Wednesday'
WHEN S.[DayOfWeek] = 5 THEN 'Thursday'
WHEN S.[DayOfWeek] = 6 THEN 'Friday'
WHEN S.[DayOfWeek] = 7 THEN 'Saturday'
ELSE 'BAD'
END AS [DayOfWeek],
isOpen
FROM MyTable S
WHERE StoreID = @I_StoreID
ORDER BY S.[DayOfWeek]
现在它返回只是一个周一和周二创纪录的,因为这是所有存在诠释他的表,但我希望它也返回其他行,即使当前没有为他们的记录。谢谢!
编辑:
这是我有...
StoreID | DayOfWeek | isOpen
22 Sunday 0
22 Monday 1
29 Sunday 0
这里就是我希望能得到...
StoreID | DayOfWeek | isOpen
22 Sunday 0
22 Monday 1
22 Tuesday NULL
....
22 Saturday NULL
29 Sunday 1
29 Monday NULL
29 Tuesday NULL
....
29 Saturday NULL
我应该还给了那里并没有任何记录那些日子? – 2012-07-30 01:19:44
我在想空值?也许这可能会造成问题,但我目前还没有想到。感谢您的问题:) – daveomcd 2012-07-30 01:20:17
@ muistooshort是的先生! – daveomcd 2012-07-30 01:40:44