Une aide svp en sql
Fermé
tft_rezak
Messages postés
3
Date d'inscription
mardi 20 juillet 2010
Statut
Membre
Dernière intervention
28 juillet 2010
-
Modifié par tft_rezak le 20/07/2010 à 17:43
tft_rezak Messages postés 3 Date d'inscription mardi 20 juillet 2010 Statut Membre Dernière intervention 28 juillet 2010 - 28 juil. 2010 à 11:46
tft_rezak Messages postés 3 Date d'inscription mardi 20 juillet 2010 Statut Membre Dernière intervention 28 juillet 2010 - 28 juil. 2010 à 11:46
A voir également:
- Une aide svp en sql
- Blob sql ✓ - Forum Webmastering
- Sql (+) - Forum Programmation
- Sql commence par ✓ - Forum Webmastering
- Lister les tables d'une base sql ✓ - Forum Programmation
- Sequence sql - Astuces et Solutions
8 réponses
Defouille
Messages postés
388
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
15 novembre 2011
54
21 juil. 2010 à 08:50
21 juil. 2010 à 08:50
Bonjour,
que veux tu faire exactement ? remplir la table2 à partir des infos de la table1 ?
Car dans ta requête je ne comprend pas bien ce que tu veux afficher.
que veux tu faire exactement ? remplir la table2 à partir des infos de la table1 ?
Car dans ta requête je ne comprend pas bien ce que tu veux afficher.
tft_rezak
Messages postés
3
Date d'inscription
mardi 20 juillet 2010
Statut
Membre
Dernière intervention
28 juillet 2010
21 juil. 2010 à 10:45
21 juil. 2010 à 10:45
Bonjour,
j'ai du mal formulé ma question voila pour la table1 elle contient le detail mensuel des montant versé par client.
exemple le client 151 doit pour l'annee 2010 une somme de 19000.00€ table2
et table1 elle contient le details mensuel des versement par mois (jan fev mar avr... )
et voila le resulat que je veux obtenir avec cette requete
salutation et merci pour votre aide
j'ai du mal formulé ma question voila pour la table1 elle contient le detail mensuel des montant versé par client.
exemple le client 151 doit pour l'annee 2010 une somme de 19000.00€ table2
et table1 elle contient le details mensuel des versement par mois (jan fev mar avr... )
et voila le resulat que je veux obtenir avec cette requete
select substr(t1.periode,1,4)as annee ,sum(t1.montant_Mensuel)as total_mensuel , sum(t2.montant_annee)as montant_annee ,t1.numero as numero_client from table1 t1,table2 t2 where t1.numero = t2.numero and substr(t1.periode,1,4) = t2.annee group by t1.numero,substr(t1.periode,1,4) exemple annee total_mensuel montant_annee numero_client 2010 19000.00 19000.00 151 solde = 0 c'est ok 2010 16752.36 12000.00 177 solde > 0 pas normale ... un autre cas peut se prensenter si annee total_mensuel montant_annee numero_client 1999 9000.00 19000.00 151 solde < 0 il doit encore 10000.00
salutation et merci pour votre aide
Defouille
Messages postés
388
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
15 novembre 2011
54
21 juil. 2010 à 12:05
21 juil. 2010 à 12:05
Et bien j'ai une réponse que j'ai faite sous postgresql, donc il faudra surement l'adapter pour oracle, de plus je ne connais pas le type exact de tes champs dans ta base du coup il est possible que l'analyseur syntaxique te dise que les tests ne sont pas bons car les champs n'ont pas le même type, il faudra alors les caster dans le type correspondant.
Enfin voila une requête qui fonctionne chez moi :
Si tu as des questions n'hésite pas ^^
Enfin voila une requête qui fonctionne chez moi :
SELECT t2.annee, t1.total_mensuel, t2.montant_annee, t2.numero FROM table2 t2 INNER JOIN ( SELECT SUM(t3.montant_mensuel) as total_mensuel, id FROM ( SELECT SUBSTR(periode,1,4)||numero as id, montant_mensuel, SUBSTR(periode,1,4) as annee, numero FROM table1 ) as t3 GROUP BY id) t1 ON t2.numero::text = SUBSTR(id,5,6) AND t2.annee = SUBSTR(id,1,4)
Si tu as des questions n'hésite pas ^^
select t1.numero,annee,montant_annee, sum(montant_mensuel)
from table1 t1,table2 t2
where t1.numero = t2.numero
group by t1.numero,annee,montant_annee
tout simplement !
from table1 t1,table2 t2
where t1.numero = t2.numero
group by t1.numero,annee,montant_annee
tout simplement !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
select t1.numero,annee,montant_annee, sum(montant_mensuel)
from table1 t1,table2 t2
where t1.numero = t2.numero
group by t1.numero,annee,montant_annee
tout simplement !
from table1 t1,table2 t2
where t1.numero = t2.numero
group by t1.numero,annee,montant_annee
tout simplement !
select t1.numero,annee,montant_annee, sum(montant_mensuel)
from table1 t1,table2 t2
where t1.numero = t2.numero
group by t1.numero,annee,montant_annee
tout simplement !
from table1 t1,table2 t2
where t1.numero = t2.numero
group by t1.numero,annee,montant_annee
tout simplement !
select t1.numero,annee,montant_annee, sum(montant_mensuel)
from table1 t1,table2 t2
where t1.numero = t2.numero
group by t1.numero,annee,montant_annee
tout simplement !
from table1 t1,table2 t2
where t1.numero = t2.numero
group by t1.numero,annee,montant_annee
tout simplement !
tft_rezak
Messages postés
3
Date d'inscription
mardi 20 juillet 2010
Statut
Membre
Dernière intervention
28 juillet 2010
28 juil. 2010 à 11:46
28 juil. 2010 à 11:46
bonjour a tous et merci pour toute l'aide que vous m'apportez
pour la derniere requete elle marche bien j'ai les les soldes en plus ou en moins maintenat je suis confrenté a un autre probleme
c'est qu'il ya une rubrique de type date "journee"
et la table table2
et le resultat de la requete uniquement pour le numero 151
pour la derniere requete elle marche bien j'ai les les soldes en plus ou en moins maintenat je suis confrenté a un autre probleme
c'est qu'il ya une rubrique de type date "journee"
et la table table2
table2
annee montant_annee numero journee
2010 9000.00 151 20100102
2010 3000.00 151 20100302
2010 7000.00 151 20100602
2010 4800.00 151 20100604 erreur de saisie
2010 -4800.00 151 20100604 erreur de saisie
2010 16500.00 152
2010 12000.00 177
et le resultat de la requete uniquement pour le numero 151
annee total_mensuel montant_annee numero_client 2010 19000.00 9000.00 151 2010 19000.00 3000.00 151 2010 19000.00 7000.00 151 ... J'aurai Voulu avoir comme resultat 2010 19000.00 19000.00 151 quelque soit le nombre d'ecritures dans la table2 pour ceux qui en une seul ecriture dans la Table2 aucun souci ça marche bien la requete