-1

タイトルが不明確であることを知っているので、私の問題を説明させてください:

2つのテーブルがあると仮定しましょう:

  • テーブル「予約」

    number

  • テーブル「顧客」

    ID | reservationNum

すべての顧客は複数の予約を持つことができます。

顧客 ID のリストが与えられた場合、それらすべてに属するすべての予約のリストを取得する必要があります

例えば:

  • 顧客 1 には 100、200、および 300 の予約があります。

  • 顧客 2 の予約は 100、200、および 400 です。

  • 顧客 3 には、100、200、300、および 600 の予約があります。

結果は {100,200} になります

どのようにそれを行うことができますか?実行する必要があるクエリは何ですか?

4

1 に答える 1

1

スキーマなどについては少しわかりませんが、基本的に必要なことは、顧客 ID でフィルタリングされたセットで予約が発生した回数を数え、その数が顧客の数と等しいことを確認することだけです。

SELECT reservationNum
FROM Customers
WHERE Id IN (/* the list of customer ids */)
GROUP BY reservationNum
HAVING COUNT(1) = /* count of the list of customer ids */
于 2013-09-23T13:48:27.417 に答える