Création d'un code SQL, j'ai besoin d'aide s'il vous plait [Résolu]

Signaler
Messages postés
4
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
15 juillet 2009
-
Messages postés
4
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
15 juillet 2009
-
Bonjour à tous,

J'ai un soucis avec un code SQL que je viens de créer, (je ne suis pas du tout informaticien, je suis chimiste, et c'est pourquoi j'ai besoin de vous)

J'ai trois tableaux, (c3bd0, hd0 et c3bhd0) chacun de ces tableaux comportant les colonnes suivantes : mz_c3b, zc3b et Trc3b pour le tableau c3bd0, mz_c3bh, zc3bh et Trc3bh pour le tableau c3bhd0 et mz_h, zh et Trh pour le tableau hd0

J'aimerai que mon code SQL me garde que les mz_c3bh spécifiques au tableau c3bhd0 (En effet la majorité des valeurs (float) presentent dans la colonne mz_c3bh de la table c3bhd0 sont égales (ou quasi égales) soient aux valeurs presentent dans mz_c3b de la table c3bd0 ou soient aux valeurs presentent dans la colonne mz_h de la table hd0. Or celles-ci ne m'interresse pas). Les valeurs de mz_c3bh spécifiques seront donc celles qui NE repondront PAS aux conditions suivantes:

(mzc3bh- mzc3b)/(mzc3bh)) <= ABS(5)

(mzc3bh- mzh)/(mzc3bh)) <= ABS(5)

zc3bh = zc3b

zc3bh = zh

(Trc3bh <= (Trc3b + 0.2) AND Trc3bh >= (Trc3b - 0.2)

(Trc3bh <= (Trh + 0.2) AND Trc3bh >= (Trh - 0.2)

J'ai écrit le code de la façon suivante:

DELETE

FROM c3bhd0,c3bd0,hd0

WHERE (((c3bhd0.mz_c3bh - c3bd0.mz_c3b) / (c3bhd0.mz_c3bh)) <= ABS(5)
AND ((c3bhd0.mz_c3bh - hd0.mz_h) / (c3bhd0.mz_c3bh)) <= ABS(5))

AND

zc3bh = zc3b

AND

(Trc3bh <= (Trc3b + 0.2)
AND Trc3bh >= (Trc3b - 0.2))

AND

(Trc3bh <= (Trch + 0.2)
AND Trc3bh >= (Trh - 0.2))

;

Ce code peut-il repondre à ma problématique? (je suis sous windows XP, je ne sais pas si c'est important)

Quand je lance ce code il me met:

>[Error] Script lines: 1-24 -------------------------
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE (((c3bhd0.mz_c3bh - c3bd0.mz_c3b) / (c3bhd0.mz_c3bh)) <= ABS(5)
AND ((c3bh' at line 5 �3;

Warnings: --->
W (1): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE (((c3bhd0.mz_c3bh - c3bd0.mz_c3b) / (c3bhd0.mz_c3bh)) <= ABS(5)
AND ((c3bh' at line 5
<---
[Executed: 4/6/09 3:53:07 PM CEST ] [Execution: 0/ms]

Je ne comprend vraiment pas pourquoi,

Merci d'avance pour vos réponses,

J'ai vraiment besoin que ce code fonctionne, j'espere que vous pourrez m'aider,

Bonne journée à tous

<!-- / message -->

2 réponses

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
Salut,

Ne mais pas de parenthese au tour des noms de colonnes simples
mais que des opérations

tu peux mettre des ` quotes anglaises pour tes tables si tu veux

`c3bhd0`.`mz_c3bh`

DELETE

FROM c3bhd0,c3bd0,hd0

WHERE (((c3bhd0.mz_c3bh - c3bd0.mz_c3b) / c3bhd0.mz_c3bh) <= ABS(5)
AND ((c3bhd0.mz_c3bh - hd0.mz_h) / c3bhd0.mz_c3bh) <= ABS(5))

AND

zc3bh = zc3b

AND

(Trc3bh <= (Trc3b + 0.2)
AND Trc3bh >= (Trc3b - 0.2))

AND

(Trc3bh <= (Trch + 0.2)
AND Trc3bh >= (Trh - 0.2))
Messages postés
4
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
15 juillet 2009

Salut,

merci beaucoup pour votre reponse, j'éssaie ça tout de suite, je vous tiens au courant.

Bonne journée à vous