2012-04-30 4 views
0

ここは私のテーブルです。sql重複フィールド

 
ProductID Title     UPC  Display 
43   Motobecane Fantom  2634 0 
14   Gravity FSX   3301 1 
19   Gravity FSX 1.0  3301 1 
56   Mango Macaw   2834 1 

Display = 1の重複UPCを持つ行を選択したいとします。ここでは動作しません。私のコードは次のとおりです。

Select ProductID, Title, UPC, Display from Products 
Where Display=1 
group by UPC having count(*) > 1; 

答えて

3

このソリューションでは、SQL Serverを前提としています

SELECT ProductID, 
      Title, 
      UPC, 
      Display 
FROM  Products 
WHERE  UPC IN(
        SELECT UPC 
        FROM  Products 
        WHERE DISPLAY = 1 
        GROUP BY UPC 
        HAVING COUNT(UPC) > 1 
       ) 
AND  Display = 1