向专家请教:关于三张表的关联查询问题?

Description of your first forum.

向专家请教:关于三张表的关联查询问题?

帖子informax » 星期二, 2002年5月7日 09:37


条件:有三张表:合同表(包含合同号、客户代码、操作员代码)、
客户表(包含客户代码、客户名称)、
操作员表(操作员代码,操作员姓名)
要求:用一个SELECT查询生成如下结果:合同号、客户名称、操作员名称;
限制:合同表中部分客户代码、操作员代码为空。若采用内部连接,则部分合同信息将不能被输出。
在INTERBASE中,您有什么好的解决方案吗?
 
 
 

向专家请教:关于三张表的关联查询问题?

帖子dopro » 星期二, 2002年5月7日 10:29


客户代码与操作员代码均为关键字,录入合同不允许为空,Sql语句就免写了吧
 
 
 

向专家请教:关于三张表的关联查询问题?

帖子Del_Sun » 星期二, 2002年5月7日 10:35


用外连接
select A.合同号, B.客户名称, C.操作员名称
from 合同表 A, 客户表 B, 操作员表 C
where A.客户代码 *= B.客户代码
and A.操作员代码 *= B.操作员代码

如果还不行, 将*=改写出标准的外连接语句肯定可以, 可以差SQL帮助
 
 
 

向专家请教:关于三张表的关联查询问题?

帖子HeBaisong » 星期二, 2002年5月7日 10:45


来晚了,完全同意Del_Sun的意见!
 
 
 

向专家请教:关于三张表的关联查询问题?

帖子ugvanxk » 星期二, 2002年5月7日 10:48


比较好的方法就是把主表填完整,以后限制主表不能为空
 
 
 

向专家请教:关于三张表的关联查询问题?

帖子informax » 星期二, 2002年5月7日 10:59


THANKS Del_Sun, Dopro, HeBaisong, Ugvanxk !

问题以解决! 内容如下:
where  用户表 RIGHT JION 合同表 LEFT JION 用户表
Interbase 与其他数据库在使用上有些区别