o06
Messages postés10Date d'inscriptionlundi 4 août 2008StatutMembreDernière intervention21 mai 2010
-
2 févr. 2010 à 17:46
o06
Messages postés10Date d'inscriptionlundi 4 août 2008StatutMembreDernière intervention21 mai 2010
-
25 févr. 2010 à 10:12
Bjr le Forum,
je vous soumets brièvement mon souci:
une table f_article avec un champ ar_codefiscal que je voudrais mettre à jour à partir des valeurs des champs d'une autre table majcodes.
dans la table f_article pour chaque champ reference il y a un champ ar_codefiscal, dans la table majcodes il y a pour chaque champ reference un champ codefiscal. je voulais pour chaque champ f_article.ar_codefiscal vide le mettre à jour avec la valeur du champ majcodes.codefiscal avec comme 'clé' f_article.ar_ref = majcodes.reference.
ouf...
j'ai donc essayé :
update dbo.f_article
set ar_codefiscal =
(
select majcodes.codefiscal from majcodes inner join f_article on majcodes.reference = f_article.ar_ref
)
where ar_codefiscal =''
l'analyseur de requêtes me retourne me msg d'erreur suivant :
Serveur : Msg 512, Niveau 16, État 1, Ligne 1
La sous-requête a retourné plusieurs valeurs. Cela n'est pas autorisé quand la sous-requête suit =, !=, <, <= , >, >= ou quand elle est utilisée en tant qu'expression.
L'instruction a été arrêtée.
je vois bien le souci mais je n'arrive pas à trouver de solution à mon petit niveau (me frotte a SQL server très ponctuellement)
hymnuade
Messages postés39Date d'inscriptionmardi 21 décembre 2004StatutMembreDernière intervention15 février 2010 15 févr. 2010 à 16:17
Bonjour,
update dbo.f_article
set ar_codefiscal = codefiscal
from majcodes
inner join f_article on majcodes.reference = f_article.ar_ref
where ar_codefiscal ='' OR ar_codefiscal IS NULL
o06
Messages postés10Date d'inscriptionlundi 4 août 2008StatutMembreDernière intervention21 mai 2010 25 févr. 2010 à 10:12
Hello,
Merci pour vos réponses.
Je m'en suis sorti avec une requête trouvée au fil de mes recherches sur le net.
C'est à mon avis pas très propre (encore une fois je suis un novice en SQL Manager) mais ça marche.
Je dis pas très propre car elle "grise" les volets diagramme et grille. Seul le volet SQL reste opérationnel.
Ça se rapproche un peu de ce que propose hymnuade. Par contre je ne connais pas les curseurs. Et je vais jeter un œil aux liens pour voir ce que propose nhervagault (punaise vous avec de ces pseudos, c'est pas humain)
Encore merci pour votre aide.
A+
La requête :
UPDATE f_article
SET f_article.ar_codefiscal = majcodes.codefiscal
FROM f_article, majcodes
WHERE f_article.ar_codefiscal '' AND f_article.ar_ref majcodes.reference