- 针对每个WHERE子句中的代码,重复多次连接相同的表
- 在整个表上执行多个CASE语句(如下所示)
- 在整个表上执行多个CASE语句,但通过WHERE SubsidCde IN ('AA','BA','BB'等)限制它
SELECT
SUM(CASE WHEN Subsid_Cde = 'AA' THEN Trans_Amt END),0) [AA],
SUM(CASE WHEN Subsid_Cde = 'BA' THEN Trans_Amt END),0) [BA],
SUM(CASE WHEN Subsid_Cde = 'BB' THEN Trans_Amt END),0) [BB]
FROM
Transactions
-- There are 8 more rows like this, using a different code for each line