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

发布于 2024-09-06 09:31:37 字数 325 浏览 4 评论 0原文

我有一个表,其中记录如下:

商店编号产品编号。

0001 11

0002 11

0003 11

0001 12

0002 12

0001 13

我想获取在多个商店中包含产品的记录。结果应该类似于下面的

商店编号产品编号。

0001 11

0002 11

0003 11

0001 12

0002 12

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

请帮忙?

I have a table having records as below

store num product no.

0001 11

0002 11

0003 11

0001 12

0002 12

0001 13

I want to fetch records having products in more than one store. The result should be like below

store num product no.

0001 11

0002 11

0003 11

0001 12

0002 12

The last record should not be there since product is in only one store.

Please help?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

冰雪梦之恋 2024-09-13 09:31:37

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

I'm going to call your table 'availability'. I did the following with PostgreSQL, but it's standard SQL, and i believe DB2 has excellent support for standard SQL, and will handle these just fine.

Here's the way that feels most natural to me:

select *
from availability
where product_no in (
    select product_no
    from availability
    group by product_no
    having count(*) > 1
);

If you'd prefer that as a correlated subquery:

select *
from availability a
where (
    select count(*)
    from availability
    where product_no = a.product_no
) > 1;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文