これらは、私が持っている 3 つのテーブルの簡略化されたバージョンです。
Books
BookID (PK)
AuthorID
...
Purchases
PurchaseID (PK)
CustomerID
BookID
Date
...
Authors
AuthorID (PK)
Name
...
テーブル間の関係が一目瞭然であることを願っていますが、簡単に説明します。著者と本の間、および本と購入の間には 1 対多の関係があります。
ここで、特定の著者によって書かれ、X 回以上購入された本から本を選択したいと考えています。
特定の著者の書籍をクエリできます。
SELECT * FROM Books where AuthorID = 'some author';
しかし、X 回以上購入された本だけが欲しいのです。
SELECT BookID from Purchases WHERE ...(where the occurance of BookID>X)
このクエリを完了する方法がわかりません。また、それが可能かどうかもわかりません。そして、可能であれば、INNER JOIN を使用して最初のクエリと結合したいと考えています。
設計に欠陥があることを喜んで受け入れます。おそらく Purchases テーブルは、PK として BookID を持ち、購入数のフィールドを持つべきです。