Comment résoudre l'erreur « la sous-requête renvoie plus d'une ligne »
P粉235202573
2023-08-21 17:36:57
<p>J'ai une requête qui renvoie plusieurs lignes et une autre requête dans laquelle je souhaite définir la condition comme étant une valeur pour l'une de ces multiples lignes, donc fondamentalement, je veux que la sous-requête ressemble à ceci : </p> ;
<pre class="brush:php;toolbar:false;">sélectionner *
du tableau
où id= (requête multiligne);</pre>
<p>Où <code> La requête multi-lignes</code> renvoie plusieurs lignes. Donc, si les valeurs de ces lignes sont 1, 2, 3, alors je veux que l'identifiant soit défini sur 1 ou 2 ou 3. </p>
Vous pouvez utiliser
in()
:Ou utilisez le lien :
La connexion n'est jamais un pire choix en termes de performances et, selon la situation et la base de données que vous utilisez, elle peut offrir de meilleures performances.
=
peut être utilisé lorsqu'une sous-requête ne renvoie qu'une seule valeur.Lorsqu'une sous-requête renvoie plusieurs valeurs, vous devez utiliser
IN
:Par exemple :