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]

Répondre à