如何解决"subquery returns more than 1 row"错误
P粉235202573
2023-08-21 17:36:57
<p>我有一个返回多行的查询,还有另一个查询,我想设置条件为这些多行中的任何一个值,所以基本上我希望子查询看起来像这样:</p>
<pre class="brush:php;toolbar:false;">select *
from table
where id= (多行查询);</pre>
<p>其中<code>多行查询</code>返回多行。所以如果这些行的值是1、2、3,那么我希望将id设置为1或2或3。</p>
您可以使用
in()
:或者使用连接:
连接在性能方面从不是一个更糟糕的选择,并且根据具体情况和您使用的数据库,可能会提供更好的性能。
=
可以用于子查询返回只有一个值的情况。当子查询返回多个值时,您需要使用
IN
:例如: