0

簡単な次のクエリがあります。

Select product_code, ID1, ID2 from product_list

しかし、私には問題があります

product_code一意のコードが 1 つだけありID1ID2product_code についても同様であるため、1 つの個別の製品、1 つの個別の ID1 および 1 つの個別の ID2 の製品、

しかし、リストを抽出すると、product_code X に対して表示されている ID1 が product_code Y ID2 に対しても表示されている、またはその逆であることに気付くことがあります。

どうもありがとうございました

4

2 に答える 2

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 に答える
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 に答える