rookjim
cdd46c83bd
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クロス結合.日付;
以上、大変参考になるご回答数々いただき感謝致します。ありがとうございました。
通報 ...