2016-03-22 37 views
0

topluluğuna sahip Toplam alt toplam & döndüren sql sorgularımı genişletmem gerekiyor. Bu sorgu ile alt toplamları ve genel toplamı hem dönmek için bir yol var mı: Bu isterToplam toplam

Department Employee Sal 
A   Jack  1000   
A   Pack  1000   
A   Dack  1000   
B   BEN  1000   
B   HEN  1000   
C   SIN  1000 

, yani Alt toplam & Toplam tüm Bölümü

Department Employee Sal 
A   Jack  1000   
A   Pack  1000   
A   Dack  1000  
A_Sub_Total   3000  
B   BEN  1000   
B   MAT  1000   
B_Sub_Total   2000  
C   SIN  1000 
C_Sub_Total   1000  
Total    6000 
için:

böyle verilere sahip

Ben

cevap

0

bu deneyin çalışmıyor "Bölümü tarafından Compute Sum (Sal)" hesaplama fonksiyonu ie kullanmaya çalıştı:

SELECT [Department], [Employee], [Sal] 
FROM #mytable 

UNION ALL 

SELECT [Department] + '_Sub_Total', 
     NULL, 
     SUM([Sal]) AS Sal 
FROM #mytable 
GROUP BY [Department] 

UNION ALL 

SELECT 'Total', NULL, SUM([Sal]) AS Sal 
FROM #mytable 
ORDER BY Department 
0

WITH ROLLUP.

SELECT ISNULL(Department, 'Total'), ISNULL(Employee, Department + '_Sub_Total'), SUM(Sal) AS Sal FROM [test] GROUP BY Department, Employee WITH ROLLUP