一个小SQL问题,得分最容易(10分)

  • 主题发起人 主题发起人 zhoufujin
  • 开始时间 开始时间
那怎么说这三个表没有关系?按你说的,不可能没有关系吧,你怎么把它们对应起来?
 
重新说明一下:
有三个表: B1,B2,B3
B1字段n1、n2、n3
B2字段n1、C1、C2、
B3字段n1、D1、D2、D3
其中三个表中的n1字段都是Integer类型,
且每个表的纪录相互对应,各表的n1取值相同。
即:B1的第一纪录的n1=B2的第一纪录的n1=B3的第一纪录的n1
在dbgrid1中应该是:
n1、n2、n3、 n1、C1、C2、n1、D1、D2、D3
1 1 值 值 1 值 值 1 值 值 值
2 2 值 值 2 值 值 2 值 值 值
3 3 值 值 3 值 值 3 值 值 值
4 4 值 值 4 值 值 4 值 值 值
5 5 值 值 5 值 值 5 值 值 值
===============以下不应再出现记录了!!!!!
大家明白了?
 
select a.*,B.*,c.*
from B1 a LEFT OUTER JOIN
B2 b on a.n1=b.n1 LEFT OUTER JOIN
B3 c on a.n1=c.n1
 
三个表要是每一个表有一个主关键字就不是那么麻烦了。难道你建表主关键字都没有???
 
主关键字就是n1啊。
 
select b1.*,b2.*,b3.* from b1,b2,b3
where b1.n1=b2.n1 and b1.n1=b3.n1
 
select * from b1 as a left join b2 as b on a.n1=b.n1
left join b3 as c on a.n1=c.n1

(在sqlserver 下面测试过 没有装interbase 我想interbase 可能左连接都不支持吧?)
 
BlackBook:
Thank you very much.All money belongs to you.
The discussion is over.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
539
import
I
后退
顶部