D'accord, je n'ai pas fait de SQL depuis un moment. C'est le plus en profondeur que j'ai dû obtenir. Fondamentalement, je dois faire pivoter une table et ensuite la décomposer en fonction des dates.Pivot SQL pour plusieurs lignes ... CONFUSÉ?
À l'heure actuelle, j'ai une transaction qui passe. Il y a 3 types de transactions. Disons livrés, expédiés, retournés. Ma table comporte donc un ID de transaction, une date de transaction et un type de transaction. Je dois faire pivoter cela et compter ensuite additionner les types de transaction. J'ai ce code jusqu'ici:
SELECT
SUM(Delivered),
SUM(Shipped),
SUM(Returned),
TransactionID,
TransactionDate
FROM
(
(SELECT
TransactionID,
TransactionDate,
TransactionType
FROM Transactions) AS Ttable
PIVOT
(
COUNT(TransactionType)
FOR TransactionTYpe IN
(
[Delivered],
[Shipped],
[Returned]
)
) as Pvt1
)
Ceci obtient la somme du compte pour chaque type de transaction. Cependant, cela me donne les totaux pour TOUS les types de transaction qui existent. J'ai besoin de tout ça pour un bout de temps. Par exemple (et je sais que cela va être beaucoup de variables mais c'est la seule façon dont mon application peut le faire), j'ai besoin de trouver la somme de tous les types de transactions pour janvier 2010 - décembre 2012 pour chaque mois. Donc 12x3. Comment puis-je rompre comme ça? S'il vous plaît aider! Devenir fou!
Le problème est que j'ai besoin des colonnes. Donc, au lieu de commander par eux. J'ai besoin expédié, livré, retourné pour janvier 2010, puis expédié, livré, retourné pour février 2010. Tout cela doit être commandé. – Tom
Donc, trois colonnes pour chaque année/mois requis, 1 ligne par transaction? (Cela serait utile si vous ajoutez un exemple de "résultat final comme celui-ci".) –