联合查询=>记录合并?

cadinfo 2008-03-22 01:27:18
问题如下:
现有两张表,结构如下:
tbl_a
id, name
1 , 张三
2 , 李四

tbl_b
id, property
1 , 房子
1 , 车子
1 , 票子

要求使用sql语句得到这种形式:
tbl_c
id, name, prop_group
1 , 张三, 房子;车子;票子
2 , 李四,



以前用SQLServer似乎没问题,用游标可以解决,不知道access里面怎么做


我用连接可以得到这种形式的中间产品,再下面就不知道了,请高手解决:

select tbl_a.id, tbl_a.name, tbl_b.property into tmptbl from tbl_a left outer join tbl_b on tbl_a.id=tbl_b.id
得到结果:
tmptbl
id, name, property
1 , 张三, 房子
1 , 张三, 车子
1 , 张三, 票子
2 , 李四

求助,非常着急!
...全文
68 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuyann 2008-03-22
  • 打赏
  • 举报
回复

由于您是新用户,所以特此介绍一下结贴的方法


如果您问题已经得解决,请您及时结帖给分,以感谢帮助您的朋友。

结帖方法:点击版面右上方或右下方 [管理] ,进入页面后就可以输入密码,分别给分,结帖。
或参考:
http://www.csdn.net/help/over.asp
http://topic.csdn.net/u/20080110/19/7cb462f1-cac6-4c28-848e-0a879f4fd642.html
=============================================================================
问题解决,请及时结贴。
正确结贴方法:
管理帖子-->给分-->输入密码-->结贴
== 思想重于技巧 ==
liuyann 2008-03-22
  • 打赏
  • 举报
回复

SELECT tbl_a.id, tbl_a.name,concateColumn("tbl_b","property",id)
FROM tbl_a;


id   name     Expr1002
1 张三 房子 ;车子 ;票子;
2 李四

== 思想重于技巧 ==
liuyann 2008-03-22
  • 打赏
  • 举报
回复


Public Function concateColumn(sTable As String, sCol As String, iID As Long)
Dim rs As New ADODB.Recordset
Dim sSQL As String
Dim sResult As String
sResult = ""

sSQL = "select " & sCol & " from " & sTable & " where id=" & iID
rs.Open sSQL, CurrentProject.Connection
Do While Not rs.EOF
sResult = sResult & rs.Fields(0).Value & ";"
rs.MoveNext
Loop
rs.Close
Set rs = Nothing

concateColumn = sResult

End Function

== 思想重于技巧 ==
cadinfo 2008-03-22
  • 打赏
  • 举报
回复
谢谢,这一答案很好

不知道这位高手能否写个大概的函数,我对 vba 也不熟悉.

liuyann 2008-03-22
  • 打赏
  • 举报
回复

ACCESS中仅通过JET-SQL语句作不到

方法一: 自定义函数
方法而: 程序中以你的中间产品来处理。
== 思想重于技巧 ==

7,714

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧