【问题标题】:Convert row values to columns in Access SQL query在 Access SQL 查询中将行值转换为列
【发布时间】: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;

【问题讨论】:

标签: sql ms-access-2010


【解决方案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 请记得点赞并采纳为正确答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多