作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不确定如何正确解释我正在尝试做的事情,所以我希望标题不会离题太远。但是我想选择 IN
范围内的所有内容,其中另一个值存在于 IN
另一个范围内,分别。
这是伪代码:
SELECT *
FROM table t
WHERE t.a IN (1,2,3,4,5,6,7,8,9)
AND t.b IN (a,c,b,c,d,e,f,g,h)
但是,我只想选择[1,a]、[2,b]、[3,c]等。不是 [3,h]。有办法吗?
也许这更好地说明了我正在尝试做的事情:
WHERE [t.a, t.b] IN ([1,a], [2,b], [3,c], [4,d], [5,e], [6,f], [7,g], ...)
最佳答案
Mysql 确实支持这样的语法:
WHERE (t.a, t.b) IN ((1, 'a'), (2, 'b'), ...)
更新:
出于某些有趣的原因,我无法在文档中找到它:-S
虽然有一些著名的资源引用它:http://www.mysqlperformanceblog.com/2008/04/04/multi-column-in-clause-unexpected-mysql-issue/
关于MySQL 分别select WHERE a IN (..) AND b IN (..),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20230265/
我是一名优秀的程序员,十分优秀!