3 回答
TA贡献2011条经验 获得超2个赞
您需要一个函数来进行串联。
Microsoft Access压缩表中的多行
使用数据的示例:
Select T.ColumnA
, GetList("Select ColumnB From Table1 As T1 Where T1.ColumnA = " & [T].[ColumnA],"",", ") AS ColumnBItems
From Table1 AS T
Group By T.ColumnA;
TA贡献2039条经验 获得超7个赞
这是一个出色的链接:在SQL中如何通过调用函数来做到这一点。说明非常清楚,并且为您编写了该功能,因此您只需复制,粘贴和粘贴即可。即使是不了解VB的人也可以轻松实现它: 连接相关记录中的值
TA贡献1799条经验 获得超9个赞
这可能很难获得。如果必须在查询而不是函数中执行此操作,则将遇到的问题是可以连接成一列的行数限制。到目前为止,我发现实现此目标的唯一方法是通过iif语句。
SELECT
test1.ColumnA AS ColumnA,
First([test1].[ColumnB]) & IIf(Count([test1].[ColumnB])>1,"," & Last([test1].[ColumnB])) AS ColumnB
FROM test1
GROUP BY test1.ColumnA;
返回:
ColumnA ColumnB
1 abc,xyz
2 efg,hij
3 asd
这将只返回第一个和最后一个,但是我敢肯定,您只需做一点点工作就可以计算出Choose函数,但是就像我说的那样,您必须为要添加的每个其他项添加更多的iif语句,因此局限性。
添加回答
举报