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
- Problème affichage facebook ✓ - Forum Facebook
- 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
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