次のようなテーブルがあるとします。
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 行で表されます (日/フラグ セットごとに 1 行)。
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) ごとに 1 行
- 5 行 - 営業日 (62)
- 7 行 - 毎日 (127)
どうすればこれができるかわかりません。これを行うにはカーソルを使用できると思いますが、ここではそれが最適なオプションですか?
ありがとう。