A voir également:
- Sql soustraction
- Récupération serveur sql - Télécharger - Gestion de données
- Excel soustraction avec condition ✓ - Forum Excel
- Soustraction en anglais excel ✓ - Forum Excel
- Sql soustraction entre 2 tables - Forum Webmastering
- Sql query - Télécharger - Gestion de données
4 réponses
pavarotti_39
Messages postés
364
Date d'inscription
dimanche 23 mars 2008
Statut
Membre
Dernière intervention
3 mai 2008
62
1 avril 2008 à 15:21
1 avril 2008 à 15:21
Vous êtes excusés, faute avouée à moitié pardonnée.
Dans ce cas, ce n'est pas UNION et MINUS qu'il faut utiliser, mais dans une même requête effectuer le calcul.
Select (sum(Requête 1.1)+Select sum(Requête1.2)) - (sum(Requête 2.1)+Select sum(Requête2.2) )
From TheTable where gnagnagna;
Dans ce cas, ce n'est pas UNION et MINUS qu'il faut utiliser, mais dans une même requête effectuer le calcul.
Select (sum(Requête 1.1)+Select sum(Requête1.2)) - (sum(Requête 2.1)+Select sum(Requête2.2) )
From TheTable where gnagnagna;
pavarotti_39
Messages postés
364
Date d'inscription
dimanche 23 mars 2008
Statut
Membre
Dernière intervention
3 mai 2008
62
1 avril 2008 à 14:26
1 avril 2008 à 14:26
Bien sûr, un tel opérateur existe, il s'agit de Minus du célèbre duo Minus et Cortex.
pavarotti_39
Messages postés
364
Date d'inscription
dimanche 23 mars 2008
Statut
Membre
Dernière intervention
3 mai 2008
62
1 avril 2008 à 14:59
1 avril 2008 à 14:59
"Merci mais peux tu me donner un exemple avec mon problème stp?"
On n'est pas chez mémé, ici, nous sommes entre gentilshommes. Un peu plus de courtoisie, s'il vous plaît.
Donc pour votre requête, je ne sais pas exactement ce que vous souhaitez faire, puisque le UNION sert à rajouter les résultats de la deuxième requête à la première, tandis que le MINUS sert à effacer de la première requête les résultats de la seconde. Pour savoir si Access supporte le Minus, ne sous-estimez pas son aide, elle peut se montrer plus utile en SQL que l'on ne peut se l'imaginer.
Si j'ai bien compris, vous désirez faire Requête2 MINUS Requête1;
(SELECT ROUND(Sum(expr1),2) AS Expr2
FROM (SELECT Sum(TotalLigneHT) as expr1
FROM BIO_LigneFacture
WHERE (((Year([DateDocument]))=YEAR(now)-2)
AND ((Month([DateDocument]))=1))
Union
SELECT Sum(TotalLigneHT) as expr1
FROM BIO_LigneRecapCaisse
WHERE (((Year([DateDocument]))=YEAR(now)-2)
AND ((Month([DateDocument]))=1))
) AS [%$##@_Alias]; )
MINUS
(SELECT ROUND(Sum(expr1),2) AS Expr2
FROM (SELECT Sum(TotalLigneHT) as expr1
FROM BIO_LigneFacture
WHERE (((Year([DateDocument]))=YEAR(now)-1)
AND ((Month([DateDocument]))=1))
Union
SELECT Sum(TotalLigneHT) as expr1
FROM BIO_LigneRecapCaisse
WHERE (((Year([DateDocument]))=YEAR(now)-1)
AND ((Month([DateDocument]))=1))
) AS [%$##@_Alias];)
Cependant, si c'est la soustraction des résultats des sommes que vous désirez, vous devrez le faire en une seule requête.
On n'est pas chez mémé, ici, nous sommes entre gentilshommes. Un peu plus de courtoisie, s'il vous plaît.
Donc pour votre requête, je ne sais pas exactement ce que vous souhaitez faire, puisque le UNION sert à rajouter les résultats de la deuxième requête à la première, tandis que le MINUS sert à effacer de la première requête les résultats de la seconde. Pour savoir si Access supporte le Minus, ne sous-estimez pas son aide, elle peut se montrer plus utile en SQL que l'on ne peut se l'imaginer.
Si j'ai bien compris, vous désirez faire Requête2 MINUS Requête1;
(SELECT ROUND(Sum(expr1),2) AS Expr2
FROM (SELECT Sum(TotalLigneHT) as expr1
FROM BIO_LigneFacture
WHERE (((Year([DateDocument]))=YEAR(now)-2)
AND ((Month([DateDocument]))=1))
Union
SELECT Sum(TotalLigneHT) as expr1
FROM BIO_LigneRecapCaisse
WHERE (((Year([DateDocument]))=YEAR(now)-2)
AND ((Month([DateDocument]))=1))
) AS [%$##@_Alias]; )
MINUS
(SELECT ROUND(Sum(expr1),2) AS Expr2
FROM (SELECT Sum(TotalLigneHT) as expr1
FROM BIO_LigneFacture
WHERE (((Year([DateDocument]))=YEAR(now)-1)
AND ((Month([DateDocument]))=1))
Union
SELECT Sum(TotalLigneHT) as expr1
FROM BIO_LigneRecapCaisse
WHERE (((Year([DateDocument]))=YEAR(now)-1)
AND ((Month([DateDocument]))=1))
) AS [%$##@_Alias];)
Cependant, si c'est la soustraction des résultats des sommes que vous désirez, vous devrez le faire en une seule requête.
Désolé pour le manque de courtoisie.
Merci pour votre aide mais malheureusement, au moment de la compilation, il m'affiche "erreur de syntaxe dans la requete UNION".
Pour une meilleure vision de mon problème,
ma requete1 retourne 15 et ma requete2 retourne 12 (ceci un éxemple)
Je voudrai que la troisième requete me sorte 3, la soustraction du résultat des deux précédentes.
Merci de votre aide
Merci pour votre aide mais malheureusement, au moment de la compilation, il m'affiche "erreur de syntaxe dans la requete UNION".
Pour une meilleure vision de mon problème,
ma requete1 retourne 15 et ma requete2 retourne 12 (ceci un éxemple)
Je voudrai que la troisième requete me sorte 3, la soustraction du résultat des deux précédentes.
Merci de votre aide
pavarotti_39
Messages postés
364
Date d'inscription
dimanche 23 mars 2008
Statut
Membre
Dernière intervention
3 mai 2008
62
1 avril 2008 à 15:21
1 avril 2008 à 15:21
Vous êtes excusés, fautes avouée à moitié pardonnée.
Dans ce cas, ce n'est pas UNION et MINUS qu'il faut utiliser, mais dans une même requête effectuer le calcul.
Select (sum(Requête 1.1)+Select sum(Requête1.2)) - (sum(Requête 2.1)+Select sum(Requête2.2) )
From TheTable where gnagnagna;
Dans ce cas, ce n'est pas UNION et MINUS qu'il faut utiliser, mais dans une même requête effectuer le calcul.
Select (sum(Requête 1.1)+Select sum(Requête1.2)) - (sum(Requête 2.1)+Select sum(Requête2.2) )
From TheTable where gnagnagna;
1 avril 2008 à 15:27
étant en stage, je ne peux modifier la base mais seulement m'adapter à celle-ci et sans relation, le moindre opérateur devient un calvaire.
Je vous remercie de votre aide et si ce n'est pas trop vous demander, pouriez vous m'aider encore un tout petit peu . :d
1 avril 2008 à 15:35
Access supporte bien ceci, non ?
1 avril 2008 à 15:39
Merci beaucoup en tout cas.