Tôi đang vật lộn với một truy vấn SQL phức tạp mà tôi đang cố gắng viết. Hãy xem bảng sau:T-SQL - Lấy danh sách tất cả Vì có cùng một tập hợp của Bs
+---+---+
| A | B |
+---+---+
| 1 | 2 |
| 1 | 3 |
| 2 | 2 |
| 2 | 3 |
| 2 | 4 |
| 3 | 2 |
| 3 | 3 |
| 4 | 2 |
| 4 | 3 |
| 4 | 4 |
+---+---+
Bây giờ, về cơ bản, tôi muốn danh sách tất cả có cùng một bộ Bs và đặt mỗi ID gia tăng.
Do đó, sản lượng đề ra cho ở trên sẽ là:
+---+----+
| A | ID |
+---+----+
| 1 | 1 |
| 3 | 1 |
| 2 | 2 |
| 4 | 2 |
+---+----+
Cảm ơn.
Chỉnh sửa: Nếu trợ giúp, tôi có danh sách tất cả các giá trị khác biệt của B có thể có trong bảng khác.
Chỉnh sửa: Cảm ơn bạn rất nhiều vì tất cả các câu trả lời sáng tạo. Đã có thể học rất nhiều.
Nếu bạn có thêm 3 hàng: '4,2 | 4,3 | 4,4'? – edc65
Tôi đã suy nghĩ về việc lấy một danh sách riêng biệt của Như, sau đó lưu trữ danh sách CSV của Bs cho mỗi A trong một bảng tạm thời. Cuối cùng, tôi sẽ tìm thấy các mục trong bảng có cùng chuỗi CSV. –
Có mẹo lừa để tạo chuỗi CSV bằng hàm xml, không cần bảng tạm thời: http://sqlandme.com/2011/04/27/tsql-concatenate-rows-using-for-xml-path/ – edc65