Docgranville a écrit :
Larnab a écrit :
UPDATE "xT_essai"
SET "nombre2"= (SELECT "nombre2"/2 FROM "xxT_toto"
WHERE ( "xxT_toto"."nom"='ccc' ))
1: Commande exécutée avec succès
Mais le calcul ne s'est pas effectué comme avec d'autre essai.
Re-bonjour,
Tu es donc parvenu à faire en sorte que le calcul s'exécute ;
pourrais-tu communiquer le code de la requête ayant effectué ce calcul,
pour voir si on ne peut pas faire un mix de tout ça ? Pourrais-tu, en
plus, préciser ce qui n'allait pas dans cette requête qui avait réalisé
les calculs (je suppose que quelque chose n'allait pas, puisque nous
continuons à chercher une solution...).
A+
C'est la requête ci-dessus qui génère le message en 1. Mais j'ai
également obtenu ce même message de calcul effectué avec plusieurs
autres solutions, celle-ci est la plus succincte. J'avance donc depuis
à partir de celle-ci mais d'autres problèmes surgissent, ce serait trop
long à mettre en ligne sauf si cela peu t'intéresser. Je les mets en fin
de message.
JL
UPDATE "xT_essai"
SET "nombre2"= ((SELECT "nombre2","nom" FROM "xT_essai","xxT_toto"
WHERE ( "xxT_toto"."nom"='ccc' ))/2)
WHERE "nombre2" <>0
6: Single value expected
UPDATE "xT_essai"
SET "nombre2"= ((SELECT "nombre2","nom" FROM "xT_essai","xxT_toto"
WHERE ( "xxT_toto"."nom"='ccc' ))/2) WHERE "nombre2" <>0
3: Commande exécutée avec succès
Pas de modification des valeurs de la colonne
nombre2 de ccc
UPDATE "xT_essai"
SET "nombre2"= (7*(SELECT "nombre2","nom" FROM "xT_essai","xxT_toto"
WHERE ( "xxT_toto"."nom"='ccc' ))) WHERE "nombre2" <>0
3: Commande exécutée avec succès
Pas de modification des valeurs de la colonne
nombre2 de ccc
UPDATE "xT_essai"
SET "nombre2"= ((SELECT "nom" FROM "xxT_toto"
WHERE ( "xxT_toto"."nom"='ccc' ))/2) WHERE "nombre2" <>0
1: This function is not supported: VARCHAR
UPDATE "xT_essai"
SET "nombre2"= ((SELECT "nombre2" FROM "xT_essai","xxT_toto"
WHERE ( "xxT_toto"."nom"='ccc' ))/2) WHERE "nombre2" <>0
1: Single value expected
j'enlève la référence à la table à modifier
page 50 (1)
UPDATE "xT_essai"
SET "nombre2"= ((SELECT "nombre2","nom" FROM "xxT_toto"
WHERE ( "xxT_toto"."nom"='ccc' ))/2) WHERE "nombre2" <>0
1: Commande exécutée avec succès
---------------------------------------------------------------------------------------------------
je rajoute la colonne nombre2
UPDATE "xT_essai"
SET "nombre2"= "nombre2"((SELECT "nombre2","nom" FROM "xxT_toto"
WHERE ( "xxT_toto"."nom"='ccc' ))/2) WHERE "nombre2" <>0
2: Unexpected token: nombre2 in statement [UPDATE
"xT_essai"
SET "nombre2"= "nombre2"(]
--------------------------------------------------------------------------------------------------
Je mets nombre2 entre parenthèse
UPDATE "xT_essai"
SET "nombre2"= ("nombre2")((SELECT "nombre2","nom" FROM "xxT_toto"
WHERE ( "xxT_toto"."nom"='ccc' ))/2) WHERE "nombre2" <>0
3: missing ) in statement [((SELECT "nombre2","nom" FROM
"xxT_toto"
WHERE ( "xxT_toto"."nom"='ccc' ))]
---------------------------------------------------------------------------------------------
Je supprime la deuxième clause WHERE
UPDATE "xT_essai"
SET "nombre2"= ((SELECT "nombre2","nom" FROM "xxT_toto"
WHERE ( "xxT_toto"."nom"='ccc' ))/2)
4: Commande exécutée avec succès
-----------------------------------------------------------------------------------------------
Je modifie en prenant pour 1 exemple de Mysql
page 47 (1)
UPDATE "xT_essai"
SET "nombre2"= "nombre2"/2
WHERE(
(SELECT "nombre2","nom"
FROM "xxT_toto"
WHERE ( "xxT_toto"."nom"='ccc' )
))
1: NULL value as BOOLEAN
---------------------------------------------------------------------------------------------
UPDATE "xT_essai"
SET "nombre2"= ("nombre2")/2
WHERE(
(SELECT "nombre2","nom"
FROM "xxT_toto"
WHERE ( "xxT_toto"."nom"='ccc' )
))
2: NULL value as BOOLEAN
----------------------------------------------------------------------------------------
UPDATE "xT_essai"
SET "nombre2"= ("nombre2")/2
WHERE (SELECT "nombre2","nom"
FROM "xxT_toto"
WHERE ( "xxT_toto"."nom"='ccc' )
)
3: NULL value as BOOLEAN
------------------------------------------------------------------------------------------
UPDATE "xT_essai"
SET "nombre2"= "nombre2"/2
WHERE (SELECT "nombre2","nom"
FROM "xxT_toto"
WHERE ( "xxT_toto"."nom"='ccc' )
)
4: NULL value as BOOLEAN
-----------------------------------------------------------------------------------------
UPDATE "xT_essai"
SET "nombre2"= "nombre2"/2
WHERE (SELECT "nom"
FROM "xxT_toto"
WHERE ( "xxT_toto"."nom"='ccc' )
)
5: NULL value as BOOLEAN
------------------------------------------------------------------------------------------
SELECT "nom","nombre2"
FROM "xxT_toto","xT_essai"
WHERE ( "xxT_toto"."nom"='ccc' );
UPDATE "xT_essai"
SET "nombre2"= "nombre2"/2
1: Commande exécutée avec succès
SELECT "nom","nombre3"
FROM "xxT_toto","xT_essai"
WHERE ( "xxT_toto"."nom"='ccc' );
UPDATE "xT_essai"
Change toute les valeurs de nombre3
--------------------------------------------------------------------
UPDATE "xT_essai"
SET "nombre1"= "nombre1"/2
WHERE (SELECT "nom","nombre1"
FROM "xxT_toto","xT_essai"
WHERE ( "xxT_toto"."nom"='ccc' ))
1: NULL value as BOOLEAN
-------------------------------------------------------------------------
UPDATE "xT_essai"
SET "nombre2"= (SELECT "nombre2"/2 FROM "xxT_toto"
WHERE ( "xxT_toto"."nom"='ccc' )
)
(1) Livre de Christien Fourtou Apprendre Sql avec MySQL chez Eyrolles
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]