Pervasive SQL Mettre a jour une Table - SQL/NoSQL - Programmation
Marsh Posté le 22-03-2014 à 12:01:10
!
Je ne sais pas si tu as trouvé la solution depuis le temps, mais le problème se situe au niveau de ta condition :
Code :
|
En effet, ta sous-requête retourne plusieurs enregistrements, comme te l'indique le message d'erreur :
Code :
|
Pour corriger ta requête, il te suffit de remplacer ton égalité par un test sur un ensemble :
Code :
|
Marsh Posté le 20-03-2014 à 14:08:45
Bonjour à tous,
Etant grand débutant en SQL, je dois mettre a jour une table et souhaitais une assistance :
J'ai crée cette requête qui fonctionne très bien :
SELECT
"ARTFOURN"."Reference",
SUBSTRING ("ARTFOURN"."Reference",2) AS "RefFourn1",
"ARTICLE"."Libelle",
"ARTFOURN"."Fournisseur",
"FOURNISSEUR"."RaisonSociale",
"ARTFOURN"."RefFourn"
FROM
"ARTFOURN",
"FOURNISSEUR",
"ARTICLE"
WHERE
"ARTFOURN"."Fournisseur" = "FOURNISSEUR"."Code"
AND
"ARTFOURN"."Reference" = "ARTICLE"."Reference"
AND
"ARTFOURN"."RefFourn" = ''
AND
"FOURNISSEUR"."RaisonSociale" LIKE 'VALMET%'
ORDER BY
"FOURNISSEUR"."RaisonSociale"
ASC
Donc je dois mettre a jour la table "ARTFOURN" colonne "RefFourn" avec la colonne RefFourn1 crée depuis la requête précédente.
J'ai donc crée la requete suivante qui ne fonctionne pas avec le message suivant :
UPDATE
"ARTFOURN"
SET
"ARTFOURN"."RefFourn" = SUBSTRING ("ARTFOURN"."Reference",2)
WHERE
"ARTFOURN"."Reference" =
(SELECT "ARTFOURN"."Reference"
FROM
"ARTFOURN",
"FOURNISSEUR",
"ARTICLE"
WHERE
"ARTFOURN"."Fournisseur" = "FOURNISSEUR"."Code"
AND
"ARTFOURN"."Reference" = "ARTICLE"."Reference"
AND
"ARTFOURN"."RefFourn" = ''
AND
"FOURNISSEUR"."RaisonSociale" LIKE 'VALMET%')
Some error(s) encountered while executing SQL statement(script).
ODBC Error: SQLSTATE = S1000, Native error code = 0
'Invalid row-count in subquery.
Quelqu'un peut-il m'aider ?
Merci d'avance
Cordialement
Timkeeper