我需要根据以下内容调整表格:
nlp
看起来像这样:
ID | Level
10 | 1
10 | 2
10 | 2
10 | 3
10 | 3
11 | 3
在SQL SERVER中,这是代码:
ID | Level1 | Level2 | Level 3
10 | 1 | 2 | 2
11 | 0 | 0 | 1
在MS ACCESS / VBA中我这样做但是收到错误"运行时错误3000保留错误(-3002);此错误没有消息"
SELECT ID, [1] AS PL1, [2] AS PL2, [3] AS PL3
into Table2
FROM
(SELECT ID, [Level]
FROM Table1 ) ps
PIVOT
(
COUNT ([Level])
FOR [Level] IN
( [1], [2], [3] )
) AS pvt
答案 0 :(得分:0)
好的,设法搞定了。分享以防有人需要它。
问题是TRANSFORM只能在SELECT上工作,不应该将INTO作为整个查询的一部分。
分辨率:
首先,将SELECT语句保存为不带INTO的查询。
Transform Count([Table1].[Level])
select [Table1].[ID], [Table1].[Level]
FROM [Table1]
Group By [Table1].[ID]
PIVOT [Table1].[Level]
在VBA脚本中,使用查询创建表:
mysql2 = "select * into Pivot_Table" _
& " from QueryName "
dbs.Execute mysql2