在一列中拆分数据并将它们转换为 MS Access 中的列 headers

Split data in one column and convert them into column headers in MS Access

我正在尝试在新的 table 上将一列数据转换为 headers。 This question 有一个很好的答案,但 SQL 在 Access 中不起作用,我在 SELECT 语句的第一部分遇到语法错误。这是带有示例名称的代码:

comp_name,
nvl(data1,0)data1,
nvl(data2,0)data2,
nvl(data3,0)data3,
nvl(data4,0)data4
from
main_table 
PIVOT
(
sum(amount) for (code) in (
'data1' as data1,
'data2' as data2,
'data3' as data3,
'data4' as data4
) 
)

此代码应该有效还是与 Access 不兼容?我如何在 Access 中实现这样的目标?

改为使用条件聚合:

select comp_name,
       sum(iif(code = 'data1', amount, 0)) as data1,
       sum(iif(code = 'data2', amount, 0)) as data2,
       sum(iif(code = 'data3', amount, 0)) as data3,
       sum(iif(code = 'data4', amount, 0)) as data4
from main_table 
group by comp_name;