假设我有一张这样的桌子:
CREATE TABLE [dbo].[Scheduler](
[DayOfWeek] [tinyint] NOT NULL,
[Time] [time](0) NOT NULL,
[Action] [varchar](255) NOT NULL
)
还有一些数据,像这样:
INSERT INTO Scheduler VALUES (1, '11:00:00', 'Sunday')
INSERT INTO Scheduler VALUES (2, '12:00:00', 'Monday')
INSERT INTO Scheduler VALUES (4, '13:00:00', 'Tuesday')
INSERT INTO Scheduler VALUES (8, '14:00:00', 'Wednesday')
INSERT INTO Scheduler VALUES (16, '15:00:00', 'Thursday')
INSERT INTO Scheduler VALUES (32, '16:00:00', 'Friday')
INSERT INTO Scheduler VALUES (64, '17:00:00', 'Saturday')
INSERT INTO Scheduler VALUES (62, '06:00:00', 'Every business day')
INSERT INTO Scheduler VALUES (127, '08:00:00', 'Every day')
如果 DayOfWeek 有多个标志,如何在 SELECT 语句中生成多行?
例如,这一行:
INSERT INTO Scheduler VALUES (62, '06:00:00', 'Every business day')
它将在 SELECT 语句中以 5 行表示(每一天/标志集一个)
DayOfWeek Time Message
--------- ---------------- ---------------------------
2 06:00:00 Every business day
4 06:00:00 Every business day
8 06:00:00 Every business day
16 06:00:00 Every business day
32 06:00:00 Every business day
对所有数据运行相同的查询会给我 19 行。
- 7 行 - 每一天 (1, 2, 4, 8, 16, 32, 64)
- 5 行 - 工作日 (62)
- 7 行 - 每天 (127)
我不确定我该怎么做。我想我可以使用光标来做到这一点,但这是最好的选择吗?
谢谢。