我有这张桌子
----------------
| X | Y |
----------------
| a | 1 |
| c | 6 |
| e | 3 |
| d | 6 |
| c | 4 |
| b | 1 |
| a | 5 |
| g | 1 |
----------------
当我得到一个数组 [c,d] 时,我需要在上表中找到“6”。即对于每组元素,我需要找到集合中所有元素共享的 Y 值,但前提是没有其他元素(即不在给定数组中的元素)共享该值。数组中的元素数量没有理论上的限制。
更多示例:对于 [a,b,c] 我什么都不需要。对于 [a,b] 我也不需要找到任何东西(因为 g 也有一个 Y = 1 的条目,所以对于 [a,b,g] 我确实需要找到“1”)。
我当然可以遍历数组,逐个查询,但这似乎是一种效率低下的方式。在 SQL 中执行此操作的最佳方法是什么?谢谢你。