2016-04-14 28 views
0

benim tablonun özet raporunu aşağıdaki hazırlanan istiyorum -SQL Server - TSQL sorgu ifadesi

Table name : Order 
Fields Name : Orderdate,Repname,Storename,salesamount 

çıkışı:

Store Name Jan Feb Mar .... Dec Total 
ABC   50  10  20 .....  80 
XYZ   30  NULL 20    50 
+5

Başlamak için harika bir yer. http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/ –

+0

Değerli bilgileri paylaştığınız için teşekkürler. –

cevap

1

Bunu yapmak için SQL Server'ın PIVOT işlevini kullanabilirsiniz. Alternatif olarak, deyimlerle birlikte toplamları kullanarak toplu olarak deyimleri

Basitleştirilmiş Örnek SQL deyimleriyle birlikte kullanabilirsiniz (Aşağıdaki sql'un Ocak 2015'ten Ocak 2016'ya kadar satış miktarlarını toplayacağı bir hata vardır. (sadece sonucun nasıl elde edilebileceği kavramını göstermek için oradadır).

SELECT 
    StoreName, 
    SUM(CASE WHEN MONTH(Orderdate) = 1 THEN salesamount ELSE NULL END) as Jan, 
    SUM(CASE WHEN MONTH(Orderdate) = 2 THEN salesamount ELSE NULL END) as Feb, 
    . 
    . 
    . 
    SUM(CASE WHEN MONTH(Orderdate) = 12 THEN salesamount ELSE NULL END) as Dec, 
    SUM(salesamount) as Total 
FROM 
    Order 
GROUP BY 
    StoreName 
+0

Teşekkürler .... iyi çalışıyor –

+0

Bunu duymak güzel, probleminizi çözüyor. Cevabı kabul edilen şekilde işaretlediğinizden emin olun. –