作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个名为 links 的表,其中包含一列 idl (PRIMARY) 和三列 ide、idd 和 idv,它们是通过外键绑定(bind)到相应表实体、描述符和值的整数,每一列都包含 ide 上的 PRIMARY 索引、idd、idv 分别。我想选择符合某些条件的条目。
查询
SELECT DISTINCT(l.ide)
FROM links l
WHERE (idd = 34 AND idv = 60) OR (idd = 31 AND idv = 166)
工作正常。但是使用 AND 进行相同的查询不会给出任何结果(我确实知道应该有结果)。
当我要求解释时,我收到消息“不可能的查询”。
预先感谢您提供任何线索。
版本:在我的表中,我至少有两行(idl、ide、idd、idv): 232、297、31、166
和 235、297、34、60
。
我想选择 ide 297。
我希望这会更清楚。
最佳答案
DROP TABLE IF EXISTS links;
CREATE TABLE links
(ide INT NOT NULL
,idd INT NOT NULL
,idv INT NOT NULL
,PRIMARY KEY(ide,idd)
);
INSERT INTO links VALUES
(1,34,60),
(1,31,166);
SELECT * FROM links;
+-----+-----+-----+
| ide | idd | idv |
+-----+-----+-----+
| 1 | 34 | 60 |
| 1 | 31 | 166 |
+-----+-----+-----+
2 rows in set (0.00 sec)
SELECT ide FROM links WHERE (idd,idv) IN((34,60),(31,166)) GROUP BY ide HAVING COUNT(*) = 2;
+-----+
| ide |
+-----+
| 1 |
+-----+
关于mysql - 当对多个条件进行 AND 运算时,WHERE 是不可能的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56253528/
我是一名优秀的程序员,十分优秀!