DB2-获取在多个商店中具有产品的记录

Posted

技术标签:

【中文标题】DB2-获取在多个商店中具有产品的记录【英文标题】:DB2- fetching records having products in more than one store 【发布时间】:2010-06-18 22:39:45 【问题描述】:

我有一个记录如下的表

存储编号产品编号。

0001 11

0002 11

0003 11

0001 12

0002 12

0001 13

我想获取在多个商店中包含产品的记录。结果应该如下所示

存储编号产品编号。

0001 11

0002 11

0003 11

0001 12

0002 12

最后一条记录不应存在,因为产品仅在一家商店中。

请帮忙?

【问题讨论】:

您或许应该标记这个'sql',因为它是一个通用的SQL 问题。而且它确实与大型机无关。 @Tom,这不是完全正确的。如果确实是 DB2/z 而不是 DB2/LUW,则 SQL 存在细微差别。 【参考方案1】:

我将把您的桌子称为“可用性”。我使用 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;

【讨论】:

以上是关于DB2-获取在多个商店中具有产品的记录的主要内容,如果未能解决你的问题,请参考以下文章

如何从具有多个页面的表中获取表记录?

单个查询从具有不同列的多个表中获取记录

Extjs在商店中添加多个记录

从 spark 数据框或 sql 中选择具有偏好层次结构的多个记录

如何使用 DB2 sql 检查不在两个表中的记录以获取另一个第三个表中的日期?

DB2 和 SQL-如何在特定字段中返回最大值,以便每行只显示一条记录;从多个表中提取数据