我需要编写一个查询,动态返回列。例如,我有一个名为tblTest的表,其中包含以下列:
提前感谢。
Id, Name, Type, Amount
1, Receipt, Cash 100
2, Receipt, Card 200
3, Receipt, Cheque 250
4, Receipt, Card 150
5, Receipt, Cash 100
6, Payment, Cash 300
7, Payment, Cheque 400
SQL查询:
SELECT
Name,
SUM(CASE WHEN Type = 'Cash' THEN Amount ELSE 0 END) Cash,
SUM(CASE WHEN Type = 'Card' THEN Amount ELSE 0 END) Card,
SUM(CASE WHEN Type = 'Cheque' THEN Amount ELSE 0 END) Cheque
FROM tblTest
GROUP BY
Name;
它返回给我,
上述结果符合我的要求,但在我的情况下,以上数据中的现金、卡、支票等类型不是预定义的,可能会动态出现,那么我该如何管理它,请帮助我构建动态列 SQL。提前感谢。