SQL 使用 AND 条件搜索多条记录的查询
SQL query for searching on multiple record with AND condition
我们能否对以下场景进行最简单的查询(不使用多个 query/nested 查询/连接)
Table and search parameter
基本上我们尝试了 Intersection,
SELECT 订单,产品来自 SALES_ORDER WHERE PRODUCT = 'P0054'
相交
SELECT 订单,产品来自 SALES_ORDER WHERE PRODUCT = 'P0095';
但我们希望这种情况应该有更好的方法。搜索条件可能包含与 AND 条件一样多的值。
理想情况下,我们尝试在单个查询中获取。
非常感谢input/help。
谢谢,
女孩。
希望以下查询可以解决您的问题。我没有测试查询。请尝试。
SELECT ORDER, PRODUCT
FROM SALES_ORDER
WHERE (PRODUCT = 'P0054' OR PRODUCT = 'P0095')
GROUP BY ORDER, PRODUCT
HAVING COUNT(*) > 1;
假设没有重复的行(order-product是一个唯一的元组):
select order
from SALES_ORDER
where product in ('P0012','P0054')
group by order
having count(DISTINCT PRODUCT) = 2
我们能否对以下场景进行最简单的查询(不使用多个 query/nested 查询/连接) Table and search parameter
基本上我们尝试了 Intersection, SELECT 订单,产品来自 SALES_ORDER WHERE PRODUCT = 'P0054' 相交 SELECT 订单,产品来自 SALES_ORDER WHERE PRODUCT = 'P0095';
但我们希望这种情况应该有更好的方法。搜索条件可能包含与 AND 条件一样多的值。 理想情况下,我们尝试在单个查询中获取。
非常感谢input/help。
谢谢, 女孩。
希望以下查询可以解决您的问题。我没有测试查询。请尝试。
SELECT ORDER, PRODUCT
FROM SALES_ORDER
WHERE (PRODUCT = 'P0054' OR PRODUCT = 'P0095')
GROUP BY ORDER, PRODUCT
HAVING COUNT(*) > 1;
假设没有重复的行(order-product是一个唯一的元组):
select order
from SALES_ORDER
where product in ('P0012','P0054')
group by order
having count(DISTINCT PRODUCT) = 2