J'ai une requête SQL que je n'arrive pas à afficher comme je le souhaite. Fondamentalement, nous avons une table pleine de transactions et j'aimerais obtenir une somme (d'un type particulier de transaction) achetée à partir de février de cette année jusqu'à maintenant. Voici la requête pour que:Affichage des résultats de la requête SELECT - à partir de la même table - côte à côte
select sum(amount) as "2011" from transactions
where transaction_type = 'registration'
and date_entered > '2011-02-01'
and date_entered < GetDate()
Maintenant, je voudrais aussi voir une somme de ces mêmes opérations, mais pour l'année précédente:
select sum(amount) as "2010" from transactions
where transaction_type = 'registration'
and date_entered > '2010-02-01'
and date_entered < DateAdd(yy, -1, GetDate())
Ce que je ne peux pas à comprendre est comment obtenir ces sommes côte à côte. J'ai essayé UNION all
mais ceux-ci s'affichent dans des lignes séparées, pas des colonnes.
select sum(amount) as "2011" from transactions
where transaction_type = 'registration'
and date_entered > '2011-02-01'
and date_entered < GetDate()
UNION all
select sum(amount) as "2010" from transactions
where transaction_type = 'registration'
and date_entered > '2010-02-01'
and date_entered < DateAdd(yy, -1, GetDate())
J'ai aussi lu ici sur Stack Overflow que PIVOT
pourrait être une option, mais je n'ai pas encore voir un exemple que je pouvais manipuler/modifier pour les requêtes ci-dessus.
Des suggestions pour savoir comment obtenir ces données côte-à-côte? Je suis sûr que je néglige quelque chose de simple.
Merci beaucoup!
Êtes-vous que jamais à comparer l'année en cours à la précédente ou y at-il des variables dans cette équation? Si aucune autre variable, alors je ne vois pas pourquoi vous aurez besoin d'utiliser PIVOT, l'exemple de Bohemian suffira parfaitement. – deutschZuid