【发布时间】:2020-03-19 04:48:47
【问题描述】:
我有桌子,我需要在水平模式下转换它
| id | Number | Name |
|------|------------|--------|
| 3695 | 0445458225 | Name1 |
| 3695 | 0445458228 | Name2 |
| 3695 | 0445458553 | Name3 |
| 3695 | 0445458560 | Name4 |
| 3695 | 0445458551 | Name5 |
| 3695 | 0445458561 | Name7 |
| 3695 | 0445458522 | Name8 |
| 3695 | 0445458543 | Name9 |
| 3696 | 0445458226 | Name10 |
| 3696 | 0445458540 | Name11 |
| 3696 | 0445458543 | Name12 |
| 3696 | 0445923962 | Name13 |
| 3696 | 0500266382 | Name14 |
| 3697 | 0445923962 | Name15 |
| 3697 | 0445458226 | Name16 |
| 3697 | 0500266382 | Name17 |
| 3697 | 0445458564 | Name18 |
我得到了如下:
| id | Name1 | Name2 | Name3 | Name4 | Name5 | Name6 | Name7 | Name8 | Name9 | Name10 | Name11 | Name12 | Name13 |
|------ |-----------|---------- |-------|----------|----------- |-------|-------|-------|----------|--------|---------- |----------|----------|
| 3695 | 445458553 | 44518551 | | 44548560 | | | | | 44548228 | | 44548543 | | 44548225 |
| 3696 | | | | | 445923962 | | | | | | 44548543 | 44548226 | |
| 3694 | | | | | 445923962 | | | | | | 44548543 | 44548226 | |
但我需要的是这个:
| id | Member1 | Member2 | Member3 | Member4 | Member5 | Member6 | Member7 | Member8 | Member9 | Member10 | member11 | Name12 | Name13 |
|------|-----------|----------|----------|----------|----------|----------|---------|---------|---------|----------|----------|--------|--------|
| 3695 | 445458553 | 44518551 | 44548560 | 44548228 | 44548543 | 44548225 | | | | | | | |
| 3696 | 445923962 | 44548543 | 44548226 | | | | | | | | | | |
| 3694 | 445923962 | 44548543 | 44548226 | | | | | | | | | | |
所以没有空单元格,列应该命名作为最后一个表也是原始ID,数字和名称不同 每次查询运行时(不同的组 ID)
这是我的 SQL 代码:
TRANSFORM Avg(Nick_agents.Number) AS FirstOfNumber
SELECT Nick_agents.id
FROM Nick_agents
GROUP BY Nick_agents.id
PIVOT Nick_agents.Name;
【问题讨论】:
-
如果不能像我上一张图片那样得到它,是否可以像上一张图片一样重命名列?
-
请像使用表格数据一样用文字替换图片!格式化为tablesgenerator.com/markdown_tables!拿起tour 并阅读How to Ask(如果尚未完成)!
标签: ms-access transform crosstab