Tôi có bảng nàysql hiệu quả nhất để thu hồi
----------------
| X | Y |
----------------
| a | 1 |
| c | 6 |
| e | 3 |
| d | 6 |
| c | 4 |
| b | 1 |
| a | 5 |
| g | 1 |
----------------
Khi tôi đưa ra một mảng [c, d] Tôi cần phải tìm "6" trong bảng trên. I E. cho mỗi tập hợp các phần tử tôi cần tìm giá trị Y được chia sẻ bởi tất cả các phần tử trong tập hợp nhưng chỉ khi không có phần tử nào khác (tức là phần tử không nằm trong mảng đã cho) chia sẻ giá trị đó. Số lượng các phần tử trong mảng không có giới hạn lý thuyết.
Ví dụ khác: cho [a, b, c] tôi không cần phải tìm gì cả. Đối với [a, b] tôi cũng không cần tìm gì cả (vì g cũng có mục nhập cho Y = 1, vì vậy đối với [a, b, g] tôi cần tìm "1").
Tôi có thể tất nhiên lặp qua mảng, truy vấn theo truy vấn, nhưng điều đó có vẻ như một cách không hiệu quả làm việc đó. Cách tốt nhất để làm điều này trong SQL là gì? Cảm ơn bạn.
[Bạn đã thử làm gì?] (Http://whathaveyoutried.com) Bạn đang cố chuyển "mảng" vào truy vấn bằng danh sách IN? –
Bạn đang sử dụng RMDB nào? –
Tốt nhất là chủ quan. Nó phụ thuộc vào dữ liệu bạn có, cơ sở dữ liệu và phiên bản bạn sử dụng và những chỉ mục nào có sẵn. –