Mam problem z trudnym zapytaniem SQL, które próbuję napisać. Przyjrzeć się poniższej tabeli:T-SQL - Zdobądź listę wszystkich As, które mają ten sam zestaw Bs
+---+---+
| A | B |
+---+---+
| 1 | 2 |
| 1 | 3 |
| 2 | 2 |
| 2 | 3 |
| 2 | 4 |
| 3 | 2 |
| 3 | 3 |
| 4 | 2 |
| 4 | 3 |
| 4 | 4 |
+---+---+
Teraz, z tego stołu, zasadniczo ma listę wszystkich jako które mają dokładnie ten sam zestaw B i dać każdemu ustawić wzrastających ID.
Stąd wyjście ustawione na powyższe byłoby:
+---+----+
| A | ID |
+---+----+
| 1 | 1 |
| 3 | 1 |
| 2 | 2 |
| 4 | 2 |
+---+----+
Dzięki.
Edycja: Jeśli to pomaga, mam listę wszystkich różnych wartości B, które są możliwe w innej tabeli.
Edytuj: Dziękuję bardzo za wszystkie innowacyjne odpowiedzi. Mogłem się wiele nauczyć.
Gdybyś miał 3 kolejne rzędy: '4,2 | 4,3 | 4,4'? – edc65
Myślałem o zrobieniu odrębnej listy jako, a następnie przechowywaniu listy CSV Bs dla każdego A w tabeli temp. Wreszcie znajdę wpisy w tabeli, które mają te same ciągi CSV. –
Istnieje Commn Trick do budowania ciągów CSV za pomocą funkcji xml, nie potrzebują tabeli temp: http://sqlandme.com/2011/04/27/tsql-concatenate-rows-using-for-xml-path/ – edc65