-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 回答