【发布时间】:2012-07-09 10:41:13
【问题描述】:
有没有办法(没有 JOIN)在 2 列 (OR) IN 子查询上使用 WHERE 子句?
目前,我正在做
WHERE 'col1' IN
(
SELECT id FROM table
) OR 'col2' IN
(
SELECT id FROM table
)
而且我确信我可以做得更好:)。我也试过WHERE ('col1', 'col2') IN <subquery> 但MySQL 说:Operand should contain 2 column(s)
感谢您的帮助。
编辑:通过“不加入”,我的意思是我已经进行了许多联接:http://pastebin.com/bRfD21W9,并且如您所见,子查询在另一个表上。
【问题讨论】:
-
为什么不加入?有什么具体原因吗?
-
这是因为我已经加入了很多。我更新了我的原始帖子,添加了我当前查询的摘录。
-
只有3个join,我不是说有很多join..我建议你再做一个join而不是进行内部查询。
-
你能给我一些建议吗?我不知道如何添加它,因为有一个“OR”的概念而不是“=”:/
-
我注意到了你的问题,即使有人可以建议,我也在寻找另一种方式,但..尚未找到。
标签: mysql where-clause multiple-tables in-subquery