Problème d'affichage de totaux dans une requête
Résolu
bouffon de service
Messages postés
1
Statut
Membre
-
bouffon de service -
bouffon de service -
Bonjour, à tous
Je travaille sous Oracle 10.
Pour l'essai de la requête, l'extraction se fait sur l'article 'Z5021' et sur 2 ans.
Je souhaite avoir la somme des qtés mouvementées (qt_stck_move) pour un type de mouvement (cd_mvt_type) type 'S1' par articles et par an pour l'ensemble du stock magasin.
Je sais que sur 2007 il n'y a eu aucune consommation. Pour 2008, il y a eu 2 pièces consommées.
- Si l'enlève le sous select portant sur l'année 20007, la requête m'affiche les données de 2008.
- Si je remets le sous select portant sur l'année 2007, la requête ne m'affiche plus rien.
J'ai utilisé la fonction NVL. Mais c'est pareil.
- sum(NVL(qt_stck_move,0)) qt07
- NVL(sum(qt_stck_move),0) qt07
Est-ce la bonne fonction a utiliser ?? Je sèche un peu.
Merci pour votre aide.
Je travaille sous Oracle 10.
Pour l'essai de la requête, l'extraction se fait sur l'article 'Z5021' et sur 2 ans.
Je souhaite avoir la somme des qtés mouvementées (qt_stck_move) pour un type de mouvement (cd_mvt_type) type 'S1' par articles et par an pour l'ensemble du stock magasin.
Je sais que sur 2007 il n'y a eu aucune consommation. Pour 2008, il y a eu 2 pièces consommées.
- Si l'enlève le sous select portant sur l'année 20007, la requête m'affiche les données de 2008.
- Si je remets le sous select portant sur l'année 2007, la requête ne m'affiche plus rien.
select substr(A.cd_item,1, 11) ref_interne, substr(A.txt_quotefield,1, 60) libelle_article, qt07, qt08 from (select cd_item, txt_quotefield from ITEM where bo_cancel_item = '0' )A, (select cd_item, substr(sum(qt_stck_move),1, 4) qt07 from stock_mouvemt where dttm_stock_mvt between to_date('01012007','DDMMYYYY') and to_date('31122007','DDMMYYYY') and cd_mvt_type = 'S1' group by cd_item )F, (select cd_item, substr(sum(qt_stck_move),1, 4) qt08 from stock_mouvemt where dttm_stock_mvt between to_date('01012008','DDMMYYYY') and to_date('31122008','DDMMYYYY') and cd_mvt_type = 'S1' group by cd_item )B where A.cd_item = B.cd_item and A.cd_item = F.cd_item and A.cd_item = 'Z5021'
J'ai utilisé la fonction NVL. Mais c'est pareil.
- sum(NVL(qt_stck_move,0)) qt07
- NVL(sum(qt_stck_move),0) qt07
Est-ce la bonne fonction a utiliser ?? Je sèche un peu.
Merci pour votre aide.
A voir également:
- Problème d'affichage de totaux dans une requête
- Affichage double ecran - Guide
- Problème affichage fenêtre windows 10 - Guide
- Windows 11 affichage classique - Guide
- Le fichier contient le nombre de voyageurs dans 3 gares. dans la cellule b5, saisissez une formule qui calcule le total et se met à jour si on change une valeur du tableau. quel total obtenez-vous ? quelle formule avez-vous saisie ? ✓ - Forum Google Docs
- Problème affichage facebook ✓ - Forum Facebook
2 réponses
Bonjour,
Il faut que tu cherches du coté de ce qu'on appelle les jointures externes, utilisées quand il n'existe pas de correspondance sur toutes les tables en jeu.
syntaxe :
and A.cd_item = F.cd_item(+)
tu peux même mettre, en plus, s'il n'y a pas de correspondance sur 2008
and A.cd_item = B.cd_item(+)
cdlt
Il faut que tu cherches du coté de ce qu'on appelle les jointures externes, utilisées quand il n'existe pas de correspondance sur toutes les tables en jeu.
syntaxe :
and A.cd_item = F.cd_item(+)
tu peux même mettre, en plus, s'il n'y a pas de correspondance sur 2008
and A.cd_item = B.cd_item(+)
cdlt