私はこれについての答えを探しましたが、条件に基づいてこの明確なレコードセットを取得する方法を見つけることができません。次のサンプルデータを含むテーブルがあります。
Type Color Location Supplier
---- ----- -------- --------
Apple Green New York ABC
Apple Green New York XYZ
Apple Green Los Angeles ABC
Apple Red Chicago ABC
Apple Red Chicago XYZ
Apple Red Chicago DEF
Banana Yellow Miami ABC
Banana Yellow Miami DEF
Banana Yellow Miami XYZ
Banana Yellow Atlanta ABC
一意の場所の数が1を超える、個別のType+Colorごとの一意の場所の数を表示するクエリを作成したいと思います。
Type Color UniqueLocations
---- ----- --------
Apple Green 2
Banana Yellow 2
赤いリンゴ(シカゴ)の場所は1つしかないため、{Apple、Red、1}は表示されないことに注意してください。私はこれを持っていると思います(しかし、おそらくもっと簡単な方法があります)。私が使用しているもの:
SELECT Type, Color, Count(Location) FROM
(SELECT DISTINCT Type, Color, Location FROM MyTable)
GROUP BY Type, Color HAVING Count(Location)>1;
の一意の場所の数が1より大きい場合にType, Color
、をリストするLocation
別のクエリを作成するにはどうすればよいですか?結果のレコードセットは次のようになります。Type,Color
Type,Color
Type Color Location
---- ----- --------
Apple Green New York
Apple Green Los Angeles
Banana Yellow Miami
Banana Yellow Atlanta
Apple, Red, Chicago
赤いリンゴの場所は1つしかないため、表示されないことに注意してください。ありがとう!