我有这个简单的查询:
Select product_code, ID1, ID2 from product_list
但我有一个问题
product_code
只有一个唯一的代码,而ID1
和ID2
也有product_code,所以一个不同的产品,
1个不同的ID1和1个不同的产品ID2,
但是当我提取列表时,有时我注意到为product_code X显示的ID1也显示为product_code Y ID2,反之亦然,对我来说无论如何都有查询来检测这个?
非常感谢
答案 0 :(得分: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)
答案 1 :(得分: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