Salut tous le monde, es possible de réaliser une requête avec se résultat
SGBD : Oracle 8i.
Merci à tous
Salut tous le monde, es possible de réaliser une requête avec se résultat
SGBD : Oracle 8i.
Merci à tous
Oui c'est possible
Si vous voulez une réponse utilisable, posez une question précise avec, la description de vos tables, un extrait de votre jeu de données en entrée et un exemple de résultat attendu
Salut, le jeux de donnée et dans le tableau, une table de 5 champ, Période, Nature, Libelle, Débit et Crédit. je voudrais une requête qui fait la différence entre les champ Débit et Crédit et omis les période soldé, voici ma requête que j'ai réaliser sauf qu'il met impossible d'inclure le champ "LIBELLE". Si possible aussi le total du Débit et Crédit par Période ainsi que le total général. Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT SubStr(t.Per,5, 2)||SubStr(t.per,1,4) Periode t.nat, t.Per Period, Sum( t.Debit) - Sum(t.Credit) Debit FROM Compta t WHERE t.Numero =&Num1 Having Sum(t.Debit) - Sum(t.Credit) <> 0 Group By t.Per, t.Nat Order By t.Per Desc, t.Nat
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.
Salut voici se que vous avez demandé:
PERIODE
102016
102016
102016
102016
102016
102016
NATURE
R01
R02
R03
R01
R02
R03
LIBELLE
Regler N 889965
Regler N 889965
Regler N 889965
Compta 1016
Compta 1016
Compta 1016
DEBIT
0,00
0,00
0,00
12 456,00
14 032,02
4 088,56
CREDIT
10 220,00
14 032,02
4 088,56
0,00
0,00
0,00
Merci pour votre aide
Bonjour,
Si vous aviez mis en forme votre requête, vous auriez certainement trouvé certaines erreurs par vous même.
Voici votre requête mieux présentée :
On constate que :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT SubStr(t.Per, 5,2 )||SubStr(t.per,1,4) Periode , t.nat , t.Per Period , Sum(t.Debit) - Sum(t.Credit) Debit FROM Compta t WHERE t.Numero =&Num1 Having Sum(t.Debit) - Sum(t.Credit) <> 0 Group By t.Per, t.Nat Order By t.Per Desc, t.Nat
- il y a 3 colonnes non agrégées dans le select, mais 2 colonnes seulement dans le group by, d'où votre erreur
- La clause "Group by" et la clause "having" sont inversées
Salut, merci pour la réponse mais se que vous avez fait c'est une mise en forme de la requête, le problème de inclure le champ LIB dans la requête voir les images détailler.
Il suffit de passer par une jointure entre les lignes de crédit et celles de débit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 SELECT dbt.periode , dbt.nature , dbt.libelle , dbt.debit , cdt.credit , (cdt.credit - dbt.debit) AS difference FROM compta dbt INNER JOIN compta cdt ON dbt.periode = cdt.peridoe AND dbt.nature = cdt.nature WHERE dbt.credit = 0 AND cdt.debit = 0 ;
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.
Merci pour la réponse, mais INNER JOIN ne marche pas sous ORACLE 8i, j'ai le SGBD utiliser dans le premier Poste
Ce n'est pas très compliqué de convertir une jointure normalisée en restriction sur un produit cartésien...
Pour rappel : Les jointures, ou comment interroger plusieurs tables
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.
Bonjour,
Dans le résultat, quelle est la règle de gestion qui permet de conserver "compta 1016" plutôt que "Regler N 889965" ?
Voici se que j'ai pu faire mais le résultat est faux
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 SELECT dbt.periode , dbt.nature , dbt.libelle , dbt.debit , cdt.credit , (cdt.credit - dbt.debit) AS difference FROM Compta dbt, Compta cdt WHERE dbt.Numro = &Num1 And dbt.Numero = cdt.Numero And dbt.periode = cdt.periode AND dbt.nature = cdt.nature And dbt.credit = 0 AND cdt.debit = 0
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.
Les période Soldé son inclus dans le résultat
Vous pouvez me donnée la même requête sous Oracle 8i pour la comparer à la mienne Merci
Salut, j'ai presque résolu mon problème sauf que en ajoutent :
la requête devient lourd, voici mon code
Code : Sélectionner tout - Visualiser dans une fenêtre à part AND cdt.debit = 0 And dbt.Credit = 0
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 SELECT dbt.periode, dbt.nature, dbt.libelle, dbt.debit, cdt.credit, (cdt.credit - dbt.debit) AS difference FROM Compta dbt, Compta cdt WHERE dbt.Numero = &Num1 And cdt.Numero = dbt.Numero And dbt.periode = cdt.periode AND dbt.nature = cdt.nature And dbt.Debit - cdt.Credit = 0 AND cdt.debit = 0 And dbt.Credit = 0
Lourd, la requête tourne sans résultat.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager