Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
SQL サブクエリ
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30785#CommentId85398
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
魔界の仮面弁士
 (社会人)
投稿日時
2022/8/3 11:59:30
CREATE TABLE [テーブルA] ([ID] CHAR(3) PRIMARY KEY, [検査日1] DATE, [検査日2] DATE, [検査日3] DATE);
INSERT INTO [テーブルA] ([ID], [検査日1], [検査日2], [検査日3]) VALUES ( '001', #5/10/2021#, #12/20/2021#, #3/5/2022#);
INSERT INTO [テーブルA] ([ID], [検査日1], [検査日2], [検査日3]) VALUES ( '002', #6/13/2021#, #5/20/2022#, NULL);
INSERT INTO [テーブルA] ([ID], [検査日1], [検査日2], [検査日3]) VALUES ( '003', #1/30/2021#, #8/1/2022#, NULL);
INSERT INTO [テーブルA] ([ID], [検査日1], [検査日2], [検査日3]) VALUES ( '004', #8/5/2021#, NULL, NULL);
INSERT INTO [テーブルA] ([ID], [検査日1], [検査日2], [検査日3]) VALUES ( '005', #3/10/2021#, #11/1/2021#, #2/8/2022#);
---
PARAMETERS [スタート日付] DATE, [エンド日付] DATE;
SELECT [ID], [検査日1] AS [検査日], '検査日1' AS [列名] FROM [テーブルA] WHERE [検査日1] >= [スタート日付] AND [検査日1] <= [エンド日付]
UNION ALL
SELECT [ID], [検査日2] AS [検査日], '検査日2' AS [列名] FROM [テーブルA] WHERE [検査日2] >= [スタート日付] AND [検査日2] <= [エンド日付]
UNION ALL
SELECT [ID], [検査日3] AS [検査日], '検査日3' AS [列名] FROM [テーブルA] WHERE [検査日3] >= [スタート日付] AND [検査日3] <= [エンド日付]
ORDER BY 2, 1;
PARAMETERS 句を使ったクエリにするかどうかはお好みで。
https://docs.microsoft.com/ja-jp/office/client-developer/access/desktop-database-reference/parameters-declaration-microsoft-access-sql