2014-12-01 55 views
0

多行数据我用下面的数据3列的表的数据库:MS ACCESS结合基于

WORKORDER - SEQNBR - COMMENT 
R12345   1  This work was performed on Dec 3 
R12345   2  1999 and resulted in the removal 
R12345   3  or all similar pumps. All pumps 
R12345   4  have been replace or repair 

我正在寻找合并或concatnate所有的评论对特定的工单成一列或报告的文本框

例:R12345“这项工作是在1999年12月3日进行,因此删除或全部类似泵所有泵已更换或维修

这可能吗? 任何帮助将不胜感激!

+1

嗨,欢迎来到SO。请阅读[问]。然后添加一些sql,告诉我们你已经尝试了什么,以及它失败了。 – 2014-12-01 20:47:24

+1

对此有一些答案,这里是一个http://stackoverflow.com/questions/92698/combine-rows-concatenate-rows/93863#93863。他们都有问题,因为他们不在MS Access以外工作。 – Fionnuala 2014-12-01 20:48:25

+0

SEQNBR始终为1至4或可能更改? – 2014-12-01 20:52:47

回答

0

MS-Access(和SQL Server)在连接组的数据时很痛苦。正如其他人所说,在MS-Access中没有很好的解决方案。

但是,这里有些东西会给你你所期望的例子。它假设你的序列中有一定数量的元素(在这里,我假设4)。这很丑陋,但有时候,有必要谦虚。

SELECT t1.WORKORDER & " " & t1.COMMENT & " " & t2.COMMENT & " " & t3.COMMENT & " " & t4.COMMENT AS Result 
FROM ((your_table AS t1 LEFT JOIN your_table AS t2 ON t1.WORKORDER = t2.WORKORDER) 
LEFT JOIN your_table AS t3 ON t2.WORKORDER = t3.WORKORDER) 
LEFT JOIN your_table AS t4 ON t3.WORKORDER = t4.WORKORDER 
WHERE t1.SEQNBR=1 
AND t2.SEQNBR=2 
AND t3.SEQNBR=3 
AND t4.SEQNBR=4 

从此你得到一个记录包含一个领域:在1999年12月3日进行,并导致 去除或所有类似泵

R12345这项工作。所有泵已被替换或修理