WHERE a.field = (SELECT a.field FROM a INNER JOIN b ON a.field = b.field)
我如何比较?此查询返回此错误语句“子查询返回多行”
是否可以将它与子查询返回的所有内容进行比较?
答案 0 :(得分:0)
您应该能够将IN子句与子查询一起使用:
在哪里a.field IN(在a.field = b.field中从内部联接选择a.field)
http://dev.mysql.com/doc/refman/5.1/en/any-in-some-subqueries.html
答案 1 :(得分:0)
您可以通过三种方式比较所有行。
使用In
运算符
WHERE ou.field in (SELECT a.field
FROM a
INNER JOIN b
ON a.field = b.field)
或使用Exists
WHERE exists (SELECT a.field
FROM a
INNER JOIN b
ON a.field = b.field
where ou.field=a.field)
或使用Inner Join
Ou Inner Join (SELECT a.field
FROM a
INNER JOIN b
ON a.field = b.field) c
On ou.field = c.field