【发布时间】:2013-11-05 19:28:25
【问题描述】:
我有两个表的一个很常见的情况:“Orders”放置和每个订单的“ItemsBought”:
Orders: orderId, orderDate, [...]
ItemsBought: boughtId, orderId, itemId, [...]
订单可以有一个或多个 ItemsBought。现在,我只想选择那些用户同时购买了 itemId=1 和 itemId=2 的订单。
说,我们在 ItemsBought 表中有这样的数据:
boughtId | orderId | itemId
---------------------------
1 | 1 | 1
2 | 1 | 2
3 | 1 | 3
4 | 2 | 1
5 | 2 | 3
6 | 2 | 4
我只需要查询返回:
orderId
-------
1
Access 2010 中的 SQL 代码是什么?
【问题讨论】:
-
您必须更具体地了解您的要求。在什么条件下你想要它,你想要在输出查询中做什么?只是 orderId = 1?
-
我需要查询以返回 orderId 列表。我打算在子查询中使用它。
-
SELECT orderId FROM ItemsBought? -
这只是一次性的,还是需要足够通用才能适用于任何输入?
-
我打算对其进行参数化并将其包含在复杂查询的 WHERE 子句中作为子查询。我只是不知道如何在同一个字段上设置 whereclause 两次(三次等)。
标签: sql ms-access ms-access-2010