vb SQL多表联合查询问题(Access数据库表)

我这儿有一数据库sjk.mdb,有5张表分别为a表,b表,c表,d表,e表,结构完全一样,都有字段:编号,地址,名称,其它.我是用access连接数据库,用DataGri... 我这儿有一数据库sjk.mdb,有5张表分别为a表,b表,c表,d表,e表,结构完全一样,都有字段:编号,地址,名称,其它.
我是用access连接数据库,用DataGrid1 显示.
我要查找的是"名称"字段,查询条件在Text1指定.
请问怎样才能像单张表一样把这5张表中符合条件的都找出来显示在DataGrid1中
我用如下语句,出错,提示:JOIN 操作语法错误
Adodc1.RecordSource = "select * from (((a表 inner join b表 on a表.名称=b表.名称) inner join c表 on a表.名称=c表.名称) inner join d表 on a表.名称=d表.名称 ) inner join e表 on a表.名称=e表.名称 '" + " where 名称 Like " & "'" & text1.text & "'"

请问错在哪儿?该如何写这句代码?
2010-08-29 17:33
badkano你好
Adodc1.RecordSource = "select new_table.编号,new_table.地址,new_table.名称,new_table.其它 from (select * from a union all select * from b union all select * from c union all select * from d union all select * from e) as new_table 名称 Like " & "'" & text1.text & "'"
还是显示 from 子句语法错误 不知道错在哪儿
展开
 我来答
badkano
2010-08-29 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885366
团长

向TA提问 私信TA
展开全部
Adodc1.RecordSource = "select new_table.编号,new_table.地址,new_table.名称,new_table.其它 from
(select * from a union all
select * from b union all
select * from c union all
select * from d union all
select * from e) as new_table
名称 Like " & "'" & text1.text & "'"

----补充---

new_table不是新建的表,只是给那括号里的查询起一个别名
要不可以改成
Adodc1.RecordSource = "select new_table.编号,new_table.地址,new_table.名称,new_table.其它 from
(select * from a union all
select * from b union all
select * from c union all
select * from d union all
select * from e) as new_table where
名称 Like " & "'" & text1.text & "'"

---补充---

少写了个where
百度网友edaca2e86
2010-08-28 · TA获得超过145个赞
知道小有建树答主
回答量:411
采纳率:100%
帮助的人:411万
展开全部
联合查询不是你那么用的,联合查询是用于字段的联合,也就是会横向扩展表。
例如A表中会有人物id,姓名,年龄等,而b表中会有每个人每次考试的成绩,也就是成绩id,成绩分数,人物id。
这时如果要查询什么人(姓名)得了多少分,就需要用联合查询了。也就是将成绩表横向扩展出一栏姓名出来。
你这种情况应该把数据放在一个表里比较好点。

如果实在不希望改数据库,那么有这么两种办法:
1.子查询:就像badkano 回答的。不过那个new_table 名称要你自己改的。不能原样不动。这个表你自己根据那几个表的结构建,你不是说那几个表完全一样吗。
2.在程序代码中用循环语句分几次查询,最后把查询结果合到一块。
3.用语句建立一个临时表,将那些表的内容都查询到临时表里面。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
keppelshen
2010-08-29
知道答主
回答量:10
采纳率:0%
帮助的人:0
展开全部
Adodc1.RecordSource = "select new_table.* from (select * from a union all select * from b union all select * from c union all select * from d union all select * from e) as new_table 名称 Like " & "'" & Text1.Text & "'"
显示 from 子语句语法错误

这个你as new_table () 名称 Like括号的地方没有where
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式