在 Access SQL 查询中将行值转换为列
Posted
技术标签:
【中文标题】在 Access SQL 查询中将行值转换为列【英文标题】:Convert row values to columns in Access SQL query 【发布时间】:2015-10-15 16:30:31 【问题描述】:我在 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;
【问题讨论】:
***.com/questions/15745042/… 试试看。 谢谢 Duston,我的 qry 在 Access 数据库中,该解决方案对我不起作用。 您是否尝试过在 SQL 视图中开发查询? 【参考方案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
【讨论】:
这是我目前所拥有的 Juan.SELECT DA.idea_code, DA.dependency_name, COUNT(*) AS row_number FROM tbl_IdeasDependencies AS DA INNER JOIN tbl_IdeasDependencies AS DA2 ON (DA2.idea_code = DA.idea_code ) AND (DA2.dependency_name 你在我的回答中做了第 1 步和第 2 步吗?我无法为您制作整个代码,因为我没有所有数据。我会回答你必须使它工作的任何问题。 感谢 Juan Carlos Oropeza 我能够修复它。您的解决方案效果很好。 @Birinder 请记得点赞并采纳为正确答案以上是关于在 Access SQL 查询中将行值转换为列的主要内容,如果未能解决你的问题,请参考以下文章