У меня есть следующие данные:Как получить сводную таблицу с конкатенированными значениями?
| 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
Ошибка:
Too many crosstab column headers (4547).
я что-то в синтаксисе отсутствует. Однако это кажется неправильным, поскольку агрегат first()
необходимо изменить на что-то еще, чтобы объединить результаты.
PS: Я использую MS-ACCESS 2007. Если вы знаете решение для SQL-Server или Oracle, использующее только SQL (без функций поставщика или хранимых процедур), я, вероятно, соглашусь с вашим ответом, поскольку это поможет мне найти решение этой проблемы.