[RESOLU] Soustraction SQL ?? Le type SUM en soustraction ...

helloSQL
Invité n'ayant pas de compte PHPfrance

18 août 2016, 15:56

Bonjour,

Je cherche actuellement à soustraire des données à l'aide d'une requete sql. Voici une ébauche de ma table ACCESS :

id date objet Nombre
1 01/01/20016 a 5
2 01/01/20016 b 6
3 02/01/20016 a 2
4 02/01/20016 b 1

Ce que j'aimerais obtenir comme résultat c'est la différence entre le nombre d'objet a et b entre chaque date !
En gros : Le 01/01/20016, il -1 objet différent ( a-b = 5-6 ) et le 02/01/20016, il y a 1 objet différent (2-1).

J'ai déja essayer de faire un teste avec :
SQL = "SELECT T.Nombre - (SELECT T.Nombre FROM Table1 T WHERE T.objet='b') FROM Table1 T WHERE T.objet='a';"
Mais j'aimerais faire un GROUP BY date mais j'y arrive pas ....

Est ce que quelqu'un pourrait m'aider s'il vous plait ? Merci par avance

helloSQL
Invité n'ayant pas de compte PHPfrance

18 août 2016, 17:30

[img]C:\Users\ut27dd\Documents\Sans%20titre.png[/img]

Avec une image ce sera peut être plus visible.

HelloSQL
Invité n'ayant pas de compte PHPfrance

20 août 2016, 09:01

Personne pour m'aider ?

Eléphanteau du PHP | 25 Messages

27 août 2016, 18:53

Bonjour,
En gros : Le 01/01/20016, il -1 objet différent ( a-b = 5-6 ) et le 02/01/20016, il y a 1 objet différent (2-1).
Rectification : il n'y a pas 1 objet différent mais un objet de moins, ce qui n'est pas pareil.
count(a)-count(b) where date=x devrais faire l'affaire.
Architecte de données & applications web
MCSE Data Management & Analytics

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

19 sept. 2016, 17:58

Bonjour,

Réponse un peu tardive, mais on ne sait jamais... tu peux utiliser une jointure sur la même table :
SELECT a.Nombre - b.Nombre, a.date
FROM Table1 a 
INNER JOIN Table1 b ON a.date = b.date AND b.objet = 'b'
WHERE a.objet = 'a'
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...