回答

收藏

找有所有值的ID(mySQL,SQL)

技术问答 技术问答 258 人阅读 | 0 人回复 | 2023-09-14

考虑这样的桌子
' N, v% l& B) B) j7 q* a1 Q# PID     Value    100   100  100 101   101  101    101         102       2      5       103                  104    104    104     104       3          104                  104    104                      102             1002                                        102                                                                                                              102                                                                                                                                                                                                                                         问题是,如果我给出2和5,我应该得到102和105,而102和105都有2和5,或者如果我给出1和3,我应该得到100和104。# f% P9 e# t4 C% g% B6 s( \1 u
我怎么只用一个?sql命令能做到这一点吗?我需要尽可能轻的查询。7 h/ R( f5 ?8 r' }9 b, G5 o
并使用UNION,INTERSECTION或NESTED SQL,哪个更快、更慢、更重?
7 V9 `# V. u& Y8 }& e9 X在此先感谢Ergec8 P5 }; b- T4 f, S
                                                               
; D# W5 W  `2 E    解决方案:                                                                ) n- ]0 h. ]9 p! H( M
                                                                有很多解决方案。除了Jhonny您还可以使用连接解决方案
8 ^( d  u4 l/ E( ASELECT DISTINCT t1.idFROM table t1,table t2WHERE t1.id = t2.id  AND t1.value = 2  AND t2.value = 5或使用相交+ V7 o; }8 e  D* _: W8 Y0 o3 |
SELECT id FROM table WHERE value = 2INTERSECTSELECT id FROM table WHERE value = 5
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则