【发布时间】:2015-10-07 22:54:01
【问题描述】:
我有以下数据:
| ID | TYPE | USER_ID |
|----------|----------|----------|
| 1 | A | 7 |
| 1 | A | 8 |
| 1 | B | 6 |
| 2 | A | 9 |
| 2 | B | 5 |
我正在尝试创建要返回的查询
| ID | RESULT |
|----------|----------|
| 1 | 7, 8, 6 |
| 2 | 9, 5 |
USER_ID 值必须按 TYPE 属性排序。
由于我使用的是 MS ACCESS,因此我正在尝试调整。我试过的:
TRANSFORM first(user_id)
SELECT id, type
FROM mytable
GROUP BY id, type
ORDER BY type
PIVOT user_id
错误:
交叉表列标题过多 (4547)。
我在语法中遗漏了一些东西。但是,这似乎是错误的,因为需要将 first() 聚合更改为其他内容以连接结果。
PS:我使用的是 MS-ACCESS 2007。如果您知道仅使用 SQL(没有供应商函数或存储过程)的 SQL-Server 或 Oracle 解决方案,我可能会接受您的回答,因为它可以帮助我找到解决这个问题的办法。
【问题讨论】:
标签: sql ms-access ms-access-2007 pivot-table