SQLで操作する必要のある適度に大きなMSAccess.mdbファイルを使用しています。残念ながら、理論的には機能するいくつかのステートメントがハングアップするように思われ、私はレンガの壁にぶつかりました。
3つのテーブル:products、product_category、およびcategories「HIDE =1」フィールドを持つアイテムのみを含むカテゴリを選択する必要がありますカテゴリにhide=0の製品が含まれている場合、選択しないでください。
サブクエリを使用するとこれを比較的簡単に実行できますが、クエリが停止します。以前は、左結合に依存するクエリは効率的に実行されるように見えましたが、このクエリをその形式に変換するのに十分な結合に頭を悩ませることはできません。
編集:
SELECT c.categoryid
FROM product_category AS c
LEFT JOIN
(
SELECT DISTINCT c.categoryid
FROM product_category AS c
LEFT JOIN products AS p
ON c.catalogid = p.catalogid
WHERE p.hide = 0
) y ON y.categoryid = c.categoryid
WHERE y.categoryid IS NULL
誰かが上記のクエリを回答として投稿しましたが、何らかの理由でそれを削除しました。私が知る限り、それは機能し、迅速に機能します。私はこの質問に答えられると思います。覚えていれば、タイマーが許せば答えを自己投稿します。