PLSQL : Obtenir de la somme pour chaque jour de la semaine et la somme totale pour la semaine en une seule requête
Disons , j'ai une table, ClientTrade, comme ainsi :
ClientName , TradeDate , Quantity
Et je veux créer une requête dans Oracle PLSQL qui doit renvoyer le résultat de ce genre :
(Les jours sont dérivées de la TradeDate colonne et Mon = sum(Quantité) pour Lun , Mar = sum(Quantité) pour les Aut ... etc.)
ClientName Mon Tue Wed Thu Fri Sat Sun TotalForWeek
ABC 10 15 5 2 4 0 0 34
XYZ 1 1 2 1 2 0 0 7
En supposant que ce rapport aura toujours où les conditions qui le faire fonctionner pendant une semaine , est-ce possible de créer ce en une seule requête?
C'est marrant à chaque fois ou presque, les gens oublient de donner à la table d'un nom. 95% compatible dans SQL questions.
Le premier nom de la table est toujours "un". 😉
OK .. ici vous allez. Non pas que cela fait beaucoup de différence à mon avis. Mais il vaut mieux être dans les 5% 🙂
Le premier nom de la table est toujours "un". 😉
OK .. ici vous allez. Non pas que cela fait beaucoup de différence à mon avis. Mais il vaut mieux être dans les 5% 🙂
OriginalL'auteur Learning | 2009-04-22
Vous devez vous connecter pour publier un commentaire.
Juste en simplifiant un peu...
OriginalL'auteur Jeffrey Kemp
Les sous-requêtes.
Un nettoyeur, mais peut-être moins efficace implique une vue avec un groupe par:ew
Alors:
La raison pour cela est laid, c'est que nous sommes en pivotant les lignes en colonnes.
OriginalL'auteur tpdi
Voyons voir:
Pas bien rangé, mais comme @tpdi mentionné dans sa réponse, c'est parce que nous sommes en pivotant les lignes en colonnes. J'ai utilisé la cohérence de l'
TradeDate BETWEEN ...
clause de le semaine.OriginalL'auteur Jonathan Leffler
Merci pour vos réponses. En fait, j'ai trouvé quelque chose dans plsql qui fonctionne parfaitement :
Ce PL/SQL? C'est juste SQL.
Qui fonctionne pour vous, mais pas pour moi. Avec mon NLS paramètres, les jours sont nommés "LUNDI", "MARDI", "MERCREDI", etc. En d'autres termes, votre solution dépend des paramètres régionaux.
OriginalL'auteur Learning
Mon essai sur Oracle 11G:
OriginalL'auteur WaldiMen