2
考慮下面的表結構SQL分組和骨料基於不同的記錄類型
ADateTime AGroupName ARecordType AValue
========== ========== =========== ======
2013-01-01 Ninjas A 10
2013-01-01 Ninjas B 5
2013-01-01 Ninjas C 2
2013-01-01 Ninjas D 1
2013-01-01 Ninjas E 0
2013-01-01 Clowns A 8
2013-01-01 Clowns B 4
2013-01-01 Clowns E 1
2013-01-08 Ninjas A 7
2013-01-08 Ninjas B 3
2013-01-08 Ninjas E 1
2013-01-08 Clowns A 4
2013-01-08 Clowns B 3
我需要計算2個值(CalcVal1和CalcVal2),用於ADateTime和AGroupName的每個組合。換句話說,我需要GROUP BY ADateTime和AGroupName(這是簡單的部分)。
注意:從示例數據中可以看出,不能保證給定分組會存在特定的記錄類型......因此,如果需要/必要時外連接和聚合!
我想弄清楚的是如何根據ARecordType的值計算CalcVal1和CalcVal2。以下是在規範CalcVal1和CalcVal2 ...
- CalcVal1是(安勤的總和,其中ARecordType = 'A')
- CalcVal2是安勤的(SUM其中ARecordType IN( 'B',」 C '))減去 安勤的(總和,其中ARecordType IN(' d」, 'E'))
的結果集我想到的是
ADateTime AGroupName CalcVal1 CalcVal2
========== ========== ======== ========
2013-01-01 Ninjas 10 6
2013-01-01 Clowns 8 3
2013-01-08 Ninjas 7 2
2013-01-08 Clowns 4 3
我使用T-SQL在SQL-Server 2005上。SQL或存儲的P rocedures歡迎。 TIA,我太老了,這是他們讓我成爲CTO的時間! (;-D)
+1 YAY,我升職了,掐我我一定是在做夢! – Sam
@Sam。 。 。恭喜。 –