1

在 Access 2013 中,我的表具有以下结构:

Name   |City   |Q113   |Q213
Peter  |London |20     |30
Sandra |Paris  |40     |50

我想“反转交叉表查询”,得到以下信息:

Name   |City   |Period   |Value
Peter  |London |Q113     |20
Peter  |London |Q213     |30
Sandra |Paris  |Q113     |40
Sandra |Paris  |Q213     |50

我尝试了一个联合查询,使用 SQL:

SELECT [Name], [City] ,'Q113' AS [Period], [Q113] AS [Value]
FROM [Database]
UNION ALL
ORDER BY [Name]
       , [City]
       , [Period]

但是,它不起作用,我不断收到错误消息:“预期的 SQL 语句无效;'DELETE'、'INSERT'、'PROCEDURE'、'SELECT' 或 'UPDATE'

谷歌搜索这个错误并没有太大帮助,所以我猜上面的代码有问题吗?请帮忙。

4

1 回答 1

2

您在以下内容之后缺少查询UNION ALL

SELECT [Name], [City] ,'Q113' AS [Period], [Q113] AS [Value]
FROM [Database]
UNION ALL
SELECT [Name], [City] ,'Q213' AS [Period], [Q213] AS [Value]
FROM [Database]
ORDER BY [Name], [City], [Period]

您需要添加查询的第二部分,然后将 ORDER BY 最后放置。

于 2013-08-28T14:40:39.083 回答