SELECT DISTINCT HAVING Policz unikalne warunki

Szukałem odpowiedzi na to pytanie, ale nie mogę znaleźć sposobu na uzyskanie tego odrębnego zestawu rekordów na podstawie warunku. Mam tabelę z następującymi przykładowymi danymi:

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

Chciałbym utworzyć zapytanie, które pokazuje liczbę unikalnych lokalizacji dla każdego odrębnego Typu + Koloru, gdzie liczba unikalnych lokalizacji jest większa niż 1, np.

Type    Color   UniqueLocations
----    -----   --------
Apple   Green   2
Banana  Yellow  2

Zauważ, że {Apple, Red, 1} nie pojawia się, ponieważ jest tylko 1 lokalizacja dla czerwonych jabłek (Chicago). Myślę, że mam ten (ale może istnieje prostsza metoda). Używam:

SELECT Type, Color, Count(Location) FROM
(SELECT DISTINCT Type, Color, Location FROM MyTable)
GROUP BY Type, Color HAVING Count(Location)>1;

Jak mogę utworzyć kolejne zapytanie, które zawiera listęType, Color, iLocation dla każdego odrębnegoType,Color kiedy liczy się unikalne lokalizacjeType,Color jest większa niż 1? Wynikowy zestaw rekordów wyglądałby następująco:

Type    Color   Location
----    -----   --------
Apple   Green   New York
Apple   Green   Los Angeles
Banana  Yellow  Miami
Banana  Yellow  Atlanta

Zauważ, żeApple, Red, Chicago nie pojawia się, ponieważ jest tylko 1 lokalizacja dla czerwonych jabłek. Dzięki!

questionAnswers(2)

yourAnswerToTheQuestion