回答

收藏

SQL:如何显示仅代表一周中某几天的数据显示一周中的整整7天?

技术问答 技术问答 215 人阅读 | 0 人回复 | 2023-09-12

我有一张桌子,用来存储一周中每天的数据。我想在一周中的每一天回到一行,即使在一周中没有一天。这是我目前的sql select语句。
# a! V* ?0 T9 qSELECT 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]现在,它只返回周一和周二的记录,因为这是表中存在的所有内容,但我希望它也返回到其他行,即使目前没有记录。非常感谢。!
: d0 ~+ r! A! F编辑:
* d0 M3 A6 p; B3 {这就是我所拥有的…
' O( S# k: H! L4 ]8 T$ o; u        StoreID | DayOfWeek | isOpen    2222                                                                                                                                                                                                         22222Sunday     0    2222                                                                                                                                                                                                         22222Monday         1      29                                             29Sunday     0这就是我想要的…; r! ]% _) j1 G
        StoreID | DayOfWeek | isOpen    2222                                                                                                                                                                                                         22222Sunday      0    2222                                                                                                                                                                                                         22222Monday      1    2222                                                                                                                                                                                                         22222Tuesday     NULL       ....    2222                                                                                                                                                                                                         22222Saturday    NULL       29          Sunday      1       29          Monday      NULL        29          Tuesday     NULL       ....       29          Saturday    NULL               
* ~  H2 D# t% `. S# d3 e    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则