如何在Access数据库中将列值更改为行



我有一个由Access中的查询生成的表,如下所示——

直径代码N
Id 长度 高度
1-X(C1( 1 4 100 S W
1-Y(C2( 3 7 200

您必须联合4个查询。类似于:

select id, "length" as Feature, ("" & length) as value from myTable
union all
select id, "height" as Feature, height as value from myTable
union all
select id, "diameter" as Feature, diameter as value from myTable

不确定值是否为保留字?


由于[value]将包含文本和数字的混合,我想您必须将其全部转换为文本。我这样做是为了第一排,只是为了展示。

我还没有完全测试过,但您可以按照期望的顺序创建一个包含字段的辅助表。

所以在这种情况下,我在一个名为pivs的表中有pivpiv_order。长度为1,高度为2,依此类推。可能不是维护此表所需的最理想的解决方案,也不是最有效的解决方案。

SELECT distinct t1.id, p.piv as Feature, 
DLookUp(p.piv,"table1","id=" & t1.id) AS FeatureValue 
FROM table1 AS t1, pivs AS p
ORDER BY t1.id, p.piv_order;

最新更新