我有一个记录如下的表
商店编号 产品编号
0001 11
0002 11
0003 11
0001 12
0002 12
0001 13
我想获取在多个商店中有产品的记录。结果应该如下所示
商店编号 产品编号
0001 11
0002 11
0003 11
0001 12
0002 12
由于产品仅在一家商店中,因此不应存在最后一条记录。
请帮忙?
我将把你的表称为“可用性”。我对 PostgreSQL 做了以下操作,但它是标准 SQL,我相信 DB2 对标准 SQL 有很好的支持,并且会很好地处理这些。
这是我觉得最自然的方式:
select *
from availability
where product_no in (
select product_no
from availability
group by product_no
having count(*) > 1
);
如果您希望将其作为相关子查询:
select *
from availability a
where (
select count(*)
from availability
where product_no = a.product_no
) > 1;