Résolution de l'insertion de valeurs de sous-requête avec plusieurs résultats
Vous disposez de deux tables, Article et Prix, dans SQL Server. Vous souhaitez insérer certains identifiants de l'article dans les prix à l'aide d'une sous-requête pour sélectionner les identifiants. Cependant, vous êtes confronté à l'erreur « la sous-requête a plus d'une valeur » lorsque vous utilisez le code ci-dessous :
INSERT INTO prices (group, id, price) VALUES (7, (select articleId from article WHERE name LIKE 'ABC%'), 1.50);
Le problème se pose car la sous-requête renvoie plusieurs identifiants car il peut y avoir plusieurs articles correspondant à « ABC% ». ' critères. Dans de tels cas, vous devez modifier votre requête comme suit :
insert into prices (group, id, price) select 7, articleId, 1.50 from article where name like 'ABC%';
Cette requête révisée spécifie explicitement les valeurs constantes (groupe : 7, prix : 1,50) à côté de la sous-requête pour sélectionner les ID d'article. En séparant les valeurs constantes, vous évitez l'évaluation de sous-requête pour chaque ID, résolvant ainsi le problème des valeurs de résultat multiples.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!