DBAtlas · Atlas d'exploitation des bases de données

512: Subquery returned more than 1 value (la sous-requête a renvoyé plus d'une valeur)

SQL Server

Que signifie cette erreur ?

Une sous-requête utilisée dans un contexte attendant une valeur unique (=, <, >, comparaison ou affectation) a renvoyé plusieurs lignes. SQL Server attendait une seule valeur scalaire mais a rencontré plusieurs valeurs.

Cause

Sous-requête supposée renvoyer une seule valeur pour la comparaison renvoyant plusieurs lignes, condition de correspondance non unique, filtre manquant, ou requête corrélée mal construite.

Comment la corriger

Réduisez la sous-requête à une seule ligne (par ex. TOP 1, MAX/MIN, ou un GROUP BY approprié). Si plusieurs valeurs sont attendues, utilisez IN ou EXISTS au lieu de =. Réécrivez avec un JOIN. Examinez pourquoi la sous-requête renvoie plusieurs lignes et corrigez les conditions de filtre/de clé.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur