我有这样的桌子
id | name | date 1 | amount 1| date 2 | amount 2
---------------------------------------------------
1 | xxxx | 01-02-2019 | 2000 | 02-04-2019 | 3500
2 | yyyy | 01-04-2019 | 5000 | 01-06-2019 | 6800
我只能对一列进行数据透视,我使用此代码
TRANSFORM Sum(tbl1.[amount1]) AS SumOfamount1
SELECT tbl1.[fname], Sum(tbl1.[amount1]) AS [Total Of amount1]
FROM tbl1
GROUP BY tbl1.[fname]
PIVOT Format([date1],"mmm") In
("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
日期1和金额1的此代码正确 可以同时为date2和金额2设置吗?
答案 0 :(得分:1)
尝试使用子查询:
TRANSFORM Sum(t.[amont1]) AS SumOfamont1
SELECT t.[fname],
Sum(t.[amount1]) AS [Total Of amount1]
FROM (SELECT date1, amont1, fname
FROM tbl1
UNION ALL
SELECT date2, amont2, fname
FROM tbl1
) t
GROUP BY t.[fname]
PIVOT Format([date1], "mmm") In ("Jan", "Feb", "Mar", "Apr", "May","Jun", "Jul", "Aug","Sep", "Oct", "Nov", "Dec");
如果这不起作用,则可能需要使用union all
的视图。