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]

クエリの 2 番目の部分を追加し、ORDER BY を最後に配置する必要があります。

于 2013-08-28T14:40:39.083 に答える