在访问中,我有一个类似
的表ID| ROOMS | NOTES|
78| 234| |
3 | 231| key |
78| 195| |
3 | 164| |
我想要一个sql查询,它将获取ID并将它们组合成一行,所以它就像
78 -> 234,195
3->231, 164 -> key
我只想将查询号中的行合并到一个新表中
答案 0 :(得分:0)
不幸的是,您必须构建一个函数来执行此操作,但幸运的是,访问支持在SQL查询中使用VBA函数。
例如,基于给定ID将边缘连接在一起的函数如下:
Public Function MyRooms(lngID As Variant) As Variant
Dim rstRooms As DAO.Recordset
If IsNull(lngID) Then Exit Function
Set rstRooms = "select Rooms from tblBookings where id = " & lngID
Do While rstRooms.EOF
If MyRooms <> "" Then MyRooms = MyRooms & "->"
MyRooms = MyRooms & rstRooms!Rooms
rstRooms.MoveNext
Loop
rstRooms.Close
End Function
现在您的查询可能如下所示:
Select id, MyRooms([id]) as Rooms, Notes from some table.
您还可以为notes列创建相同的函数,并再次将其放在上面的查询中。
答案 1 :(得分:0)
是您的问题“如何在Access中进行group_concat?” 此链接可能有用: is there a group_concat function in ms-access?