Page 1 sur 1

Problème avec une requête sql

Posté : 30 mars 2011, 11:43
par biba
Bonjour tout le monde,

J'ai un souci avec une requête. Je dois faire la somme de trois sommes, lesquelles se trouve dans la même table mais seule les conditions différes. Les trois requêtes sont les suivantes :
1°) SELECT SUM (dl_montantht) as Somme_Des_MontantsHT
FROM f_docligne
WHERE ca_num= 'ITALIE' AND do_piece LIKE 'FA%' AND do_date >= '{d 2010-05-01}' AND do_date <= '{d 2011-01-31}'
AND (ar_ref like 'TT%' OR ar_ref like 'MK%' OR ar_ref like 'AF%' OR ar_ref like 'FF%' OR ar_ref like 'TD%' OR ar_ref like 'CHE-110%')


2°)SELECT SUM (dl_montantht) as MontantHT
FROM f_docligne
WHERE do_domaine = 1 AND ar_ref like 'ZCOMMISSIONS' AND ca_num = 'ITALIE'


3°)SELECT SUM (dl_montantht) as Somme_Des_MontantsHT
FROM f_docligne
WHERE do_domaine = 1 AND ar_ref like 'ZTRANSP' AND marche = 'ITA' AND AND do_date >= '{d 2010-05-01}' AND do_date <= '{d 2011-01-31}'


Je dois faire la somme de ses trois requêtes. J'ai tout tenté sans succés :cry:. Si quelqu'un peut m'aider se serait génial.
D’avance merci pour vos réponses,
Cordialement,

Re: Problème avec une requête sql

Posté : 30 mars 2011, 11:52
par xTG
Pourquoi cela te gêne-t-il d'exécuter trois requêtes et d'additionner leur résultat ?

Re: Problème avec une requête sql

Posté : 30 mars 2011, 13:03
par biba
Je ne peux pas car j'utilise un requêteur pour exécuter mes requêtes. Je ne peux pas stocker une valeur (comme dans une procédure). Je ne peux faire que des SELECT

Re: Problème avec une requête sql

Posté : 30 mars 2011, 13:52
par Mazarini
Bonjour,
select SELECT SUM (dl_montantht) as Somme_Des_MontantsHT
from f_docligne
WHERE (ca_num= 'ITALIE' AND do_piece LIKE 'FA%' AND do_date >= '{d 2010-05-01}' AND do_date <= '{d 2011-01-31}'
AND (ar_ref like 'TT%' OR ar_ref like 'MK%' OR ar_ref like 'AF%' OR ar_ref like 'FF%' OR ar_ref like 'TD%' OR ar_ref like 'CHE-110%'))
OR
(do_domaine = 1 AND ar_ref like 'ZCOMMISSIONS' AND ca_num = 'ITALIE')
OR
(do_domaine = 1 AND ar_ref like 'ZTRANSP' AND marche = 'ITA' AND AND do_date >= '{d 2010-05-01}' AND do_date <= '{d 2011-01-31}')
Je me suis contenté de mettre les 3 clauses where avec des () et rassemblées par des OR

Re: Problème avec une requête sql

Posté : 30 mars 2011, 13:59
par biba
Je vois bien. Seulement ça ne permet pas d'avoir la somme.

Re: Problème avec une requête sql

Posté : 30 mars 2011, 14:28
par xTG
Mouarf j'avais pas vu que les calculs se faisaient sur la même table...
Je vois bien. Seulement ça ne permet pas d'avoir la somme.
Et qu'est ce qui ne va pas ? Car à priori il n'y a pas de raison que cela ne fonctionne pas correctement.
A moins que tu ais de la redondance d'informations, à savoir des informations qui rentrent dans plusieurs des trois cas et qui doivent être compté plusieurs fois.

Re: Problème avec une requête sql

Posté : 30 mars 2011, 14:41
par biba
Effectivement toutes les trois requêtes portent sur la même table, seules leurs conditions sont différentes. Je n'arrive pas à faire la somme des trois requêtes (la somme des trois) c'est à la dire la une + la deux + le trois dans une même requête. Systaxiquement c'est incorrect. J'ai aussi essayer la requête suivante :

SELECT SUM (dl_montantht) - SUM (dl_montantht)- SUM (dl_montantht)
FROM f_docligne
WHERE ca_num= 'ITALIE' AND do_piece LIKE 'FA%' AND do_date >= '{d 2010-05-01}' AND do_date <= '{d 2011-01-31}'
AND (ar_ref like 'TT%' OR ar_ref like 'MK%' OR ar_ref like 'AF%' OR ar_ref like 'FF%' OR ar_ref like 'TD%' OR ar_ref like 'CHE-110%') ..........................

Mais rien qu'en l'écrivant je sais qu'elle va me retourner 0.

Re: Problème avec une requête sql

Posté : 05 avr. 2011, 08:59
par biba
Ma requête ne marche toujours pas. Quelqu'un n'a pas une petite idée ??