作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
好吧,所以我遇到了以下问题..我正在尝试使用两个子查询执行单个选择语句。我需要它做的几乎是以下内容..
SELECT * FROM messages WHERE
满足以下条件。
条件1:
SELECT id
FROM messages
WHERE `receiver` = 123510 && sender= 123457 && status != 3;
条件2:
SELECT id
FROM messages
WHERE receiver = 123457 && sender = 123510 && status !=4;
我尝试执行以下操作:
SELECT *
FROM messages
WHERE id IN (
(
SELECT id
FROM messages
WHERE `receiver` = 123510 && sender= 123457 && status != 3
),
(
SELECT id
FROM messages
WHERE receiver = 123457 && sender = 123510 && status !=4)
)
但是当我这样做时,mysql 返回子查询返回超过 1 行...
关于如何解决这个问题有什么建议吗?
最佳答案
我认为这就是您正在寻找的:
SELECT *
FROM messages
WHERE (receiver = 123510 AND sender = 123457 AND status <> 3) OR
(receiver = 123457 AND sender = 123510 AND status <> 4);
关于MySQL SELECT IN 带子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11753388/
我是一名优秀的程序员,十分优秀!