如何实现多表联合查询?

烤火的鱼 2003-03-18 03:34:27
我有一个表A,其中有两个字段与另两个表B、C相关,一是姓名编号,一是职务编号
假如B中存放的是姓名和姓名编号字段,C中存放的是职务和职务编号字段,现在我从A中提取一条记录后,要根据编号得到姓名、职务,我用join on关键字可以实现两个表联合,但现在是三个表啊,该如何处理呢?
...全文
108 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
烤火的鱼 2003-03-19
  • 打赏
  • 举报
回复
我从ACCESS中自动生成了代码,正确应该是:
SELECT 承包情况.*, 车辆台帐.车牌号, 车主情况.姓名
FROM (承包情况 LEFT JOIN 车辆台帐 ON 车辆台帐.车辆编号 = 承包情况.车辆编号) LEFT JOIN 车主情况 ON 车主情况.车主编号 = 承包情况.车主编号;
烤火的鱼 2003-03-19
  • 打赏
  • 举报
回复
还是不行啊,按上面的语法,程序运行时提示:语法错误(操作符丢失),我又用下面的语句:
"select 车辆台帐.车牌号,承包情况.* from "+
"承包情况 left join 车辆台帐 on 承包情况.车辆编号= 车辆台帐.车辆编号 "+
"承包情况 left join 车主情况 on 承包情况.车主编号=车主情况.车主编号";
提示同样的错误,我又在最后一个表达式前面加逗号,变成
承包情况 left join 车辆台帐 on 承包情况.车辆编号= 车辆台帐.车辆编号 ,"+
"承包情况 left join 车主情况 on 承包情况.车主编号=车主情况.车主编号";
提示不支持连接不定式,谁能告诉该如何处理啊,真急啊!!!
Ken920454 2003-03-18
  • 打赏
  • 举报
回复
不麻烦的,这是典型的关联查询,可以实现很多个表返回一个记录集:

select 承包情况.* ,车辆台帐.车牌号 from 承包情况 left join 车辆台帐 on 承包情况.车辆编号= 车辆台帐.车辆编号 left join 车主情况 on 承包情况.车主编号=车主情况.车主编号 left join ...
烤火的鱼 2003-03-18
  • 打赏
  • 举报
回复
可能我没有说清楚,具体如下,我有三个表:承包情况、车辆台帐、车主情况,在承包情况中有两个字段和后两个表相关,分别是车辆编号、车主编号,在车辆台帐中有两个字段与此问题有关,一是车辆编号,一是车辆牌照,在车主情况中有两个字段相关,一是车主编号,一是车主姓名,我主要用到承包情况表,显然,从承包情况中提取一条记录后,要根据车辆编号得到车牌号,根据车主编号得到车主姓名,我join 两个的代码如下:
"select 承包情况.* ,车辆台帐.车牌号 from 承包情况 left join 车辆台帐 on 承包情况.车辆编号= 车辆台帐.车辆编号 ";
现在如何join第二个呢?是不是要中间变量?说白一点,我要得到下面一个表:
======================================
承包字段1 承包字段2 车牌号 车主姓名
=======================================
显示,后面两个字段是从另外表中获取的,实在太麻烦了,我还要许多表都有这类关系.
chinchy 2003-03-18
  • 打赏
  • 举报
回复
参考这个
USE pubs
SELECT ytd_sales AS Sales,
authors.au_fname + ' '+ authors.au_lname AS Author,
ToAuthor = (ytd_sales * royalty) / 100,
ToPublisher = ytd_sales - (ytd_sales * royalty) / 100
FROM titles INNER JOIN titleauthor
ON titles.title_id = titleauthor.title_id INNER JOIN authors
ON titleauthor.au_id = authors.au_id
ORDER BY Sales DESC, Author ASC
qingshuic 2003-03-18
  • 打赏
  • 举报
回复
我也想实现类似的功能,但是没有成功,生成了三个DataAdapter,可恶。
project 2003-03-18
  • 打赏
  • 举报
回复
先join on 两个,然后再和第三个join.

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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