0

我有这个简单的查询:

Select product_code, ID1, ID2 from product_list

但我有一个问题

product_code只有一个唯一的代码,并且ID1对于ID2product_code 也是如此,所以一个不同的产品、1 个不同的 ID1 和 1 个不同的 ID2 用于产品,

但是当我提取列表时,有时我注意到为 product_code X 显示的 ID1 也为 product_code Y ID2 显示,反之亦然,无论如何我都需要查询来检测这个?

非常感谢

4

2 回答 2

0

所以,如果我理解正确的话,ID1 字段中的一些值也会显示在 ID2 字段中,但用于不同的 product_code。

Select p1.product_code, p1.ID1, p1.ID2, p2.product_code, p2.ID1, p2.ID2
from product_list p1, product_list p2
where p1.ID1 = p2.ID2 or p1.ID2 = p2.ID1
于 2013-08-05T10:46:27.810 回答
0

就像是:

SELECT *
FROM product_list
WHERE product_code = ID1 OR product_code = ID2 OR (ID1 = ID2 AND ID1 IS NOT NULL)

添加了 NULL 检查,但可能不需要。

SELECT *
FROM product_list a
WHERE EXISTS (SELECT *
              FROM product_list b
              WHERE a.product_code = b.ID1 OR a.product_code = b.ID2
              OR a.ID1 = b.ID2)
于 2013-08-05T10:39:34.527 回答