|
Débuté par Dc, 12 juin 2016 18:18 - 4 réponses |
| |
| | | |
|
| |
Posté le 12 juin 2016 - 18:18 |
Bjr,
Etant un peu blaireau en SQL, des select from where .. me suffisaient jusqu'a maintenant, je suis confronté a un autre probleme.
Je veux une requete qui va puiser dans 2 fichiers , ce n'est pas un probleme de jointures (je connais un peu) ca serait plutot un probleme de UNION mais la doc dit que on doit taper dans 2 fichiers de meme structure. moi j'ai(en simplifiant) : F1 : -date -client -montant
et F2 : -date -montant
Il me faudrait en resultat, le total des montants par date des deux fichiers additonnés ... (sans les clients bien sur puisque dans une seul fichier) . Est ce que UNION peut marcher ou y-t-il une autre solution ?
Merci de vos lumieres ... a plus
-- ------------------------------------------------------------- www.ctc-soft.com Gestion biblo-documentaire (free-share) Comptabilité shareware Logiciels de Gestion de saisie terrain Spécialisé Tournées de boulangers ------------------------------------------------------------- |
| |
| |
| | | |
|
| | |
| |
Posté le 13 juin 2016 - 11:31 |
Tu devrais essayer SELECT SUM(F1.montant + F2.montant) FROM F1, F2 |
| |
| |
| | | |
|
| | |
| |
Posté le 13 juin 2016 - 19:20 |
Etape 1 :
SELECT DATE, montant , client FROM f1 UNION ALL SELECT DATE, montant , 'xxx' AS client FROM f2 Cette requête va te renvoyer une ligne pour chaque ligne de f1 ou de f2. J'ai précisé union all au lieu de union, sinon tu perdrais des enregistrements ( si pour le même jour et le même montant, tu as 2 lignes
Etape 2: faire des sous totaux :
SELECT DATE , SUM( montant ) FROM ( SELECT DATE, montant , client FROM f1 UNION ALL SELECT DATE, montant , 'xxx' AS client FROM f2 ) GROUP BY DATE
Quand on veut faire des additions, ou des comptage, ou des moyennes, ça passe par Group by. |
| |
| |
| | | |
|
| | |
| |
Posté le 13 juin 2016 - 23:46 |
Bjr,
Joel avait prétendu :
Etape 1 : select date, montant , client from f1 union all select date, montant , 'xxx' as client from f2 Cette requête va te renvoyer une ligne pour chaque ligne de f1 ou de f2. J'ai précisé union all au lieu de union, sinon tu perdrais des enregistrements ( si pour le même jour et le même montant, tu as 2 lignes Etape 2: faire des sous totaux : select date , sum( montant ) from ( select date, montant , client from f1 union all select date, montant , 'xxx' as client from f2 ) group by date Quand on veut faire des additions, ou des comptage, ou des moyennes, ça passe par Group by.
Ok merci, je vais essayer le UNION alors, meme si les 2 fichiers n'ont pas la meme structure
a plus
-- ------------------------------------------------------------- www.ctc-soft.com Gestion biblo-documentaire (free-share) Comptabilité shareware Logiciels de Gestion de saisie terrain Spécialisé Tournées de boulangers ------------------------------------------------------------- |
| |
| |
| | | |
|
| | |
| |
Posté le 13 juin 2016 - 23:46 |
a2f_Ju a émis l'idée suivante : > Tu devrais essayer SELECT SUM(F1.montant + F2.montant) FROM F1, F2
c 'est a eesayer mais ca me parait bizarre merci
-- ------------------------------------------------------------- www.ctc-soft.com Gestion biblo-documentaire (free-share) Comptabilité shareware Logiciels de Gestion de saisie terrain Spécialisé Tournées de boulangers ------------------------------------------------------------- |
| |
| |
| | | |
|
| | | | |
| | |
|