Szukałem odpowiedzi na ten temat, ale nie mogę znaleźć dość, jak uzyskać ten odrębny zestaw rekordów na podstawie warunku. Mam tabelę zawierającą następujące dane przykładowe:SELECT DISTINCT HAVING Policz wyjątkowe warunki
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ć kwerendę, która pokazuje liczbę unikalnych miejsc dla każdego odrębnego typu + Colour gdzie liczba unikalnych miejsc jest więcej niż 1, na przykład
Type Color UniqueLocations
---- ----- --------
Apple Green 2
Banana Yellow 2
Uwaga: {Apple, Red, 1} nie pojawia się, ponieważ jest tylko jedno miejsce dla czerwonych jabłek (Chicago). Myślę, że mam ten (ale być 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
i Location
dla każdego odrębnego Type,Color
gdy liczba unikalnych miejscach do tego Type,Color
jest większa niż 1? Powstały 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ż, że Apple, Red, Chicago
nie pojawia się, ponieważ jest tylko 1 miejsce dla czerwonych jabłek. Dzięki!
Dzięki bardzo Michael! – vfxdev