将行值转换为Access SQL查询中的列

时间:2015-10-15 16:30:31

标签: sql ms-access-2010

我在Access表中有两列

Idea_Code, "Dependency_Name" 
I66666       TEST1
I66666       TEST2
I66666       TEST3
I77777       TEST34

我希望将结果视为:

Idea_Code  Dependency_Name1  Dependency_Name2  Dependency_Name3 ------ETC
I66666         TEST1               TEST2          TEST3 
I77777         TEST34

一个想法代码可能有许多依赖项名称。为了消除重复,我需要将依赖项名称显示为可以是一对多关系的列。感谢您的时间。

我使用了这段代码,但它在访问查询中并没有按照我希望的方式工作。

TRANSFORM First(DA.dependency_name) AS dependency_name
SELECT DA.idea_code
FROM tbl_IdeasDependencies AS DA

GROUP BY DA.idea_code

PIVOT DA.dependency_name;

1 个答案:

答案 0 :(得分:1)

首先,您创建一个新的列row_number,这是一个SAMPLE如何

你将

Idea_Code, "Dependency_Name", row_number
I66666       TEST1                1
I66666       TEST2                2
I66666       TEST3                3
I77777       TEST34               1

其次,您创建了一个category

SELECT 'Dependency_Name' + row_number as category

现在你有了

Idea_Code, "Dependency_Name", row_number, category
I66666       TEST1                1       Dependency_Name1
I66666       TEST2                2       Dependency_Name2        
I66666       TEST3                3       Dependency_Name3
I77777       TEST34               1       Dependency_Name1

最后,您使用category和来自原始"Dependency_Name"

的值执行 PIVOT