]> gitweb.pimeys.fr Git - scripts-20-100.git/blob - bde/old/tresorerie.sql
[bde] Gros ménage : archivage de tous les scripts NK2012
[scripts-20-100.git] / bde / old / tresorerie.sql
1 # écrit par 20-100 le 16/03/13 (ouais enfin surtout le 17)
2 # Des requêtes SQL en vrac pour satisfaire Maylis, penser à porter ça sur la NK2015 avec une interface
3 # pour les tréoriers
4
5 # Avoir les soldes de tout le monde à une date particulière
6 SELECT pseudo, numcbde, recu, emis, COALESCE(recu, 0)-COALESCE(emis, 0) AS solde FROM (SELECT adherents.pseudo, adherents.numcbde, (SELECT sum(montant*quantite) FROM transactions WHERE valide AND destinataire=adherents.numcbde AND date<'2012-02-22') AS recu, (SELECT sum(montant*quantite) FROM transactions WHERE valide AND emetteur=adherents.numcbde AND date<'2012-02-22') AS emis FROM adherents) AS calculs;
7
8 # Avoir la somme de tous les soldes de tout le monde à cette date :
9 SELECT sum(solde) FROM (SELECT pseudo, numcbde, recu, emis, COALESCE(recu, 0)-COALESCE(emis, 0) AS solde FROM (SELECT adherents.pseudo, adherents.numcbde, (SELECT sum(montant*quantite) FROM transactions WHERE valide AND destinataire=adherents.numcbde AND date<'2012-02-22') AS recu, (SELECT sum(montant*quantite) FROM transactions WHERE valide AND emetteur=adherents.numcbde AND date<'2012-02-22') AS emis FROM adherents) AS calculs) AS soldes;
10 # Oh ! ça fait 0 ! cool hein ?
11 # Eh ben ça a pas été si trivial que ça… -_-
12
13
14 # Le résumé des transactions du BDE, regroupé par type.
15 SELECT sum(montant*quantite*(CASE WHEN emetteur=destinataire THEN 0 WHEN destinataire=0 THEN 1 ELSE -1 END)) AS total, remarque FROM transactions WHERE valide AND 0 in (emetteur, destinataire) AND date<='2013-02-19' AND date>='2012-02-22' GROUP BY remarque ORDER BY total;
16 # Attention : penser à changer les *deux* 0 pour le faire sur quelqu'un d'autre.