sql语句的外连接(93分)

  • 主题发起人 主题发起人 kevin_zhou
  • 开始时间 开始时间
K

kevin_zhou

Unregistered / Unconfirmed
GUEST, unregistred user!
我想把四个表进行外连接,sql语句如何写?
如:
现有 表1:字段1、字段2、ID1、ID2、ID3
表2:ID1、字段1
表3:ID2、字段1
表4:ID3、字段1
现在我要对表1作报表,但是要把ID1、ID2、ID3分别用表2、表3、表4中的字段1来代替,而
且表1中的ID1、ID2、ID3都可为空
 
select a.字段1, a.字段2, b.ID1,c.ID2, d.ID3 from 表1 a
left jion 表2 b on a.字段1 = b.字段1
left jion 表3 c on a.字段1 = c.字段1
left jion 表4 d on a.字段1 = d.字段1
 
不好意思,可能是我的表达有问题。
我意思是:表1和表2是通过ID1联系,
依此类推
 
select a.字段1, a.字段2, b.字段1,c.字段1, d.字段1 from 表1 a
left jion 表2 b on a.id1 = b.id1
left jion 表3 c on a.id2 = c.id2
left jion 表4 d on a.id3 = d.id3
 
那我如果是把表2和表3改为主从表呢(其他不变),如下
表2:ID1、字段1
表3:ID1、ID2、字段2
表2和表3是通过ID1连接的
 
不是一样吗?
把条件往里加就是,要用内连接就用inner关键字!
 
差别大了。
我举个例子吧。如果表1只有一条记录,但是如果用这样的sql可能不止一条记录。
不信你可以试一下
 
是不止一条记录啊,从表有多少记录就有多少记录。
你到底想得到什么?
 
select a.字段1, a.字段2, b.字段1,c.字段1, d.字段1
from 表1 a,表2 b,表3 c,表4 d
where A.ID1= B.ID1 and A.ID2= C.ID2 and A.ID3 = D.ID3
 

Similar threads

S
回复
0
查看
681
SUNSTONE的Delphi笔记
S
D
回复
0
查看
824
DelphiTeacher的专栏
D
S
回复
0
查看
768
SUNSTONE的Delphi笔记
S
后退
顶部