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

  • 主题发起人 主题发起人 informax
  • 开始时间 开始时间
I

informax

Unregistered / Unconfirmed
GUEST, unregistred user!
条件:有三张表:合同表(包含合同号、客户代码、操作员代码)、
客户表(包含客户代码、客户名称)、
操作员表(操作员代码,操作员姓名)
要求:用一个SELECT查询生成如下结果:合同号、客户名称、操作员名称;
限制:合同表中部分客户代码、操作员代码为空。若采用内部连接,则部分合同信息将不能被输出。
在INTERBASE中,您有什么好的解决方案吗?
 
客户代码与操作员代码均为关键字,录入合同不允许为空,Sql语句就免写了吧
 
用外连接
select A.合同号, B.客户名称, C.操作员名称
from 合同表 A, 客户表 B, 操作员表 C
where A.客户代码 *= B.客户代码
and A.操作员代码 *= B.操作员代码

如果还不行, 将*=改写出标准的外连接语句肯定可以, 可以差SQL帮助
 
来晚了,完全同意Del_Sun的意见!
 
比较好的方法就是把主表填完整,以后限制主表不能为空
 
THANKS Del_Sun, Dopro, HeBaisong, Ugvanxk !

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

 

Similar threads

后退
顶部