首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >不可能在WHERE when ANDing多个条件时

不可能在WHERE when ANDing多个条件时
EN

Stack Overflow用户
提问于 2019-05-22 17:26:38
回答 1查看 46关注 0票数 0

我有一个名为links的表,它包含一个列idl (主)和三个列ide、idd和idv,它们是由外键绑定到相应的表实体、描述符和值的整数,每个表分别包含一个关于ide、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, 166235, 297, 34, 60

我想选择ide 297。

我希望这一点会更清楚。

EN

回答 1

Stack Overflow用户

发布于 2019-05-22 18:05:51

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 |
+-----+
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56253528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档