Я искал ответ на это, но не могу найти, как получить этот отчетный набор записей на основе условия. У меня есть таблица со следующими примерами данных:
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 UniqueLocations
---- ----- --------
Apple Green 2
Banana Yellow 2
Обратите внимание, что {Apple, Red, 1} не отображается, потому что есть только 1 место для красных яблок (Чикаго). Я думаю, что у меня есть этот (но, возможно, есть более простой метод). Я использую:
SELECT Type, Color, Count(Location) FROM
(SELECT DISTINCT Type, Color, Location FROM MyTable)
GROUP BY Type, Color HAVING Count(Location)>1;
Как создать другой запрос, который отображает Type, Color
и Location
для каждого отдельного Type,Color
, когда количество уникальных местоположений для этого Type,Color
больше 1? Результирующий набор записей будет выглядеть так:
Type Color Location
---- ----- --------
Apple Green New York
Apple Green Los Angeles
Banana Yellow Miami
Banana Yellow Atlanta
Обратите внимание, что Apple, Red, Chicago
не появляется, потому что для красных яблок есть только 1 место. Спасибо!