私はProducts
テーブルを持っています
ProductId
と列_ StatusId
_
StatusId
1 と 2 (2 行)を持つすべての製品を選択するにはどうすればよいですか?
私はProducts
テーブルを持っています
ProductId
と列_ StatusId
_
StatusId
1 と 2 (2 行)を持つすべての製品を選択するにはどうすればよいですか?
両方のステータス(1,2)の製品を選択するには:
SELECT ProductId
FROM products
WHERE status IN (1, 2)
GROUP BY ProductId
HAVING COUNT(distinct status) = 2
このクエリを試して、ステータス1と2の両方を持つ製品のレコードを取得してください
SELECT DISTINCT a.ProductId
FROM Products a, Products b
WHERE a.ProductId = b.ProductId
AND a.StatusId = 1
AND b.StatusId = 2;
ANSIJOINの使用
SELECT DISTINCT a.ProductId
FROM Products a INNER JOIN Products b
ON a.ProductId = b.ProductId
WHERE a.StatusId = 1
AND b.StatusId = 2;
SELECT DISTINCT a.ProductId
FROM Products a
INNER JOIN Products b ON a.ProductId = b.ProductId
WHERE a.StatusId IN (1, 2)