【问题标题】:DB2- fetching records having products in more than one storeDB2-获取在多个商店中具有产品的记录
【发布时间】: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 存在细微差别。

标签: db2 mainframe


【解决方案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;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多