Microsoft Access 掲示板

クエリを使って条件に当てはまる日付を抽出したい / 10

10 コメント
views
4 フォロー
10
rookjim 2019/10/28 (月) 12:17:26

mayuさん

テーブル設計を見直したサンプルのご提示ありがとうございます。
素朴な質問のつもりでしたが、ここまで懇切丁寧に回答いただき、
情報量にただただ圧倒される次第です。

また、その前段にてmayuさんよりご提示いただいた、
SUM集計関数を用いて元のクエリで抽出できなかったレコードを一括で抽出し
別途対処するというアイディアを参考にして下のクエリを作成しました。
こちらで一応望む結果を得ることができましたので、あまりスマートな方法では
ないと自覚していますが、ひとまずこの質問は解決にしようと思います。

SELECT 
 Qクロス結合.[リマインダーID],  Qクロス結合.[リマインダー内容],  Qクロス結合.日付,  Qクロス結合.曜日, 
 IIf( [曜日番号合計] = 0, 0, [曜日番号] ) AS 曜日条件, 
 IIf( [週番号合計] = 0, 0, [週番号] ) AS 週条件 
FROM 
 Qクロス結合  LEFT JOIN ( SELECT  [リマインダーID],  sum(曜日番号) AS 曜日番号合計,  sum(週番号) AS 週番号合計  FROM  T条件  GROUP BY  [リマインダーID] ) AS 番号合計 ON Qクロス結合.[リマインダーID] = 番号合計.[リマインダーID] 
WHERE 
 ( ( ( IIf( [曜日番号合計] = 0, 0, [曜日番号] ) ) In ( select  曜日番号  from  T条件  where  T条件.リマインダーID = Qクロス結合.リマインダーID ) ) 
 AND ( ( IIf( [週番号合計] = 0, 0, [週番号] ) ) In ( select  週番号  from  T条件  where  T条件.リマインダーID = Qクロス結合.リマインダーID ) ) ) 
ORDER BY 
 Qクロス結合.[リマインダーID], 
 Qクロス結合.日付;

以上、大変参考になるご回答数々いただき感謝致します。ありがとうございました。

通報 ...