Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Nicer way of doing this
Message
Information générale
Forum:
Microsoft SQL Server
Catégorie:
Stored procedures, Triggers, UDFs
Versions des environnements
SQL Server:
SQL Server 2014
Application:
Desktop
Divers
Thread ID:
01612941
Message ID:
01612945
Vues:
58
I think this solution is as pretty as it gets and you don't find anything better.

>Hi all, the query below produces a count and summation of monies by month, it works perfectly but *pretty it ain't*, anyone know of a *nicer* way of doing this ?
>
>
>select owner_id,
>sum(CASE WHEN MONTH(close_date) = 1 THEN 1 ELSE 0 END) AS JanLeads,
>sum(CASE WHEN MONTH(close_date) = 1 THEN amtfinanced ELSE 0 END) AS JanAmt,
>sum(CASE WHEN MONTH(close_date) = 2 THEN 1 ELSE 0 END) AS FebLeads,
>sum(CASE WHEN MONTH(close_date) = 2 THEN amtfinanced ELSE 0 END) AS FebAmt,
>sum(CASE WHEN MONTH(close_date) = 3 THEN 1 ELSE 0 END) AS MarLeads,
>sum(CASE WHEN MONTH(close_date) = 3 THEN amtfinanced ELSE 0 END) AS MarAmt,
>sum(CASE WHEN MONTH(close_date) = 4 THEN 1 ELSE 0 END) AS AprLeads,
>sum(CASE WHEN MONTH(close_date) = 4 THEN amtfinanced ELSE 0 END) AS AprAmt,
>sum(CASE WHEN MONTH(close_date) = 5 THEN 1 ELSE 0 END) AS MayLeads,
>sum(CASE WHEN MONTH(close_date) = 5 THEN amtfinanced ELSE 0 END) AS MayAmt,
>sum(CASE WHEN MONTH(close_date) = 6 THEN 1 ELSE 0 END) AS JunLeads,
>sum(CASE WHEN MONTH(close_date) = 6 THEN amtfinanced ELSE 0 END) AS JunAmt,
>sum(CASE WHEN MONTH(close_date) = 7 THEN 1 ELSE 0 END) AS JulLeads,
>sum(CASE WHEN MONTH(close_date) = 7 THEN amtfinanced ELSE 0 END) AS JulAmt,
>sum(CASE WHEN MONTH(close_date) = 8 THEN 1 ELSE 0 END) AS AugLeads,
>sum(CASE WHEN MONTH(close_date) = 8 THEN amtfinanced ELSE 0 END) AS AugAmt,
>sum(CASE WHEN MONTH(close_date) = 9 THEN 1 ELSE 0 END) AS SepLeads,
>sum(CASE WHEN MONTH(close_date) = 9 THEN amtfinanced ELSE 0 END) AS SepAmt,
>sum(CASE WHEN MONTH(close_date) = 10 THEN 1 ELSE 0 END) AS OctLeads,
>sum(CASE WHEN MONTH(close_date) = 10 THEN amtfinanced ELSE 0 END) AS OctAmt,
>sum(CASE WHEN MONTH(close_date) = 11 THEN 1 ELSE 0 END) AS NovLeads,
>sum(CASE WHEN MONTH(close_date) = 11 THEN amtfinanced ELSE 0 END) AS NovAmt,
>sum(CASE WHEN MONTH(close_date) = 12 THEN 1 ELSE 0 END) AS DecLeads,
>sum(CASE WHEN MONTH(close_date) = 12 THEN amtfinanced ELSE 0 END) AS DecAmt,
>sum(amtfinanced) as yearlyamt,
>count(owner_id) as yearlyleads
>from opportunity o
>inner join sumfinanced sf
>on o.opp_id = sf.opp_id
>group by owner_id
>order by owner_id
>
>
If it's not broken, fix it until it is.


My Blog
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform