Ms access 从Access 2007 SQL的垂直数据(使用列中的记录作为标题)创建非聚合水平表

Ms access 从Access 2007 SQL的垂直数据(使用列中的记录作为标题)创建非聚合水平表,ms-access,Ms Access,在任何人询问之前,是的,我已经搜索了这个问题到第n级,无法在Access 2007语法中获得所需的结果。所有的解决方案似乎都是合理的,但总是归结为语法错误。MS SQL和本机SQL有不同的语法吗 以下是我的数据: 表TRXCODE TRXINFO 20141002第9号决议[57] 20141002 TRM AWCORD01 20141002 MRC ddfhrhamwss 20141002决议1[49] 20141002 TRM AWTERC01 20141002 MRC ftttyyxxds

在任何人询问之前,是的,我已经搜索了这个问题到第n级,无法在Access 2007语法中获得所需的结果。所有的解决方案似乎都是合理的,但总是归结为语法错误。MS SQL和本机SQL有不同的语法吗

以下是我的数据: 表TRXCODE TRXINFO

20141002第9号决议[57]

20141002 TRM AWCORD01

20141002 MRC ddfhrhamwss

20141002决议1[49]

20141002 TRM AWTERC01

20141002 MRC ftttyyxxdsj3

20141002决议1[49]

20141002 TRM AWTERC01

20141002 MRC 5556JDJSJD

这就是我想要创造的 表RES TRM MRC

20141002 9[57]AWCORD01 DDFHRAHAMWSS

20141002 1[49]AWTERC01 ftttyyxxdsj3

20141002 1[49]AWTERC01 5556JDJSJD

非常类似于PIVOT函数,但我不能使用聚合。有数千行,但我只需要3个trxcode作为列标题。我的列将读取TABLE、RES、TRM和MRC。TRXINFO将位于每个列标题下

除非我对语法和聚合失去理智,否则我真的很想找到一个解决方案。我希望我已经清楚地解释了我的问题和结果

干杯 盖奇

类似

Select r.TABLE,r.TRXINFO as 'RES', t.TRXINFO as 'TRM', m.TRXINFO as 'MRC'
From MyTable r
Left Join MyTable t On r.Table = t.table and t.TRXCODE = 'TRM' 
Left Join MyTable m On m.Table = t.table and m.TRXCODE = 'MRC'
Where r.TRXCODE = 'RES'
为其他代码添加更多的联接,如果没有索引,则添加一两个索引无疑会提高性能

这基本上是在pivot作为功能添加之前执行pivot类型查询的老派方法

如果没有“RES”记录,您需要做更多的工作 如果你知道总是有一个特定的TRXCODE,那么就用它代替RES

完全外部连接(或等效连接,尽管使用五个连接会很痛苦)

或者有一个鬼鬼祟祟的Pete解决方案,基本上首先创建一个查询,如

Select Distinct [Table], 'XXX' as 'TRXCODE', 'Do Not Care' as TRXINFO
From MyTable
然后将您的六个代码加入其中,然后从中查询以删除XXX列。

类似于

Select r.TABLE,r.TRXINFO as 'RES', t.TRXINFO as 'TRM', m.TRXINFO as 'MRC'
From MyTable r
Left Join MyTable t On r.Table = t.table and t.TRXCODE = 'TRM' 
Left Join MyTable m On m.Table = t.table and m.TRXCODE = 'MRC'
Where r.TRXCODE = 'RES'
为其他代码添加更多的联接,如果没有索引,则添加一两个索引无疑会提高性能

这基本上是在pivot作为功能添加之前执行pivot类型查询的老派方法

如果没有“RES”记录,您需要做更多的工作 如果你知道总是有一个特定的TRXCODE,那么就用它代替RES

完全外部连接(或等效连接,尽管使用五个连接会很痛苦)

或者有一个鬼鬼祟祟的Pete解决方案,基本上首先创建一个查询,如

Select Distinct [Table], 'XXX' as 'TRXCODE', 'Do Not Care' as TRXINFO
From MyTable

然后将您的六个代码连接到该表中,然后从该表中查询以删除XXX列。

每个[表]是否总是有三个trxcode。如果是这样的话,你可以通过几个内部连接来实现。总共有6个trxcode。好的,接下来是10个trxcode。每个[表]都有3个trxcode吗。如果是这样的话,你可以通过几个内部连接来实现。总共有6个trxcode。好的,接下来是10个trxcode。每个[表]都有3个trxcode吗。如果是这样的话,你可以通过几个内部连接来完成。总共有6个trxcode。好的,接下来是10个trxcode。伙计们,谢谢你们的帮助,但仍然是语法错误。我开始觉得我的访问被破坏了。伙计们,谢谢你们的帮助,但仍然是语法错误。我开始觉得我的访问被破坏了。伙计们,谢谢你们的帮助,但仍然是语法错误。我开始觉得我的访问权限被破坏了。