一个select语句,请大侠指点

fishone 2003-05-28 02:39:29
有4个表,A,B,C,D,A和B有相同的字段,只是A比B多了一个字段,B有4个主键,A只有一个,就是比B多出来的那个字段,现在对表做关联取数据,具体情况如下:

首先:A,B,C关联,通过 key1,key2 (key1在B,C中是主键,在A里不是,key2只在C里是主键)
然后:A,B,D关联,通过 key1,key3 (key1在B,D中是主键,key3只在D中是主键)
最后:select出a1,a2,a3,a4等11个字段,这11个字端在A,B中都存在。
用一个select语句把它写出来

...全文
15 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
erigido 2003-05-29
  • 打赏
  • 举报
回复
不懂.帮你up一下吧
rdsdh 2003-05-29
  • 打赏
  • 举报
回复
你的问题说明得不太清楚。
请按这样的方式说明它:
A(F0,F1,F2,F3,F4)
B(F1,F2,F3,F4)
C(。。。。。。)
D(。。。。。。)
要查询的结果(F1,F2,。。。)
条件:。。。
yzssg 2003-05-29
  • 打赏
  • 举报
回复
你能不能把语句写出来
victorli 2003-05-29
  • 打赏
  • 举报
回复
或者如下

SELECT *
FROM tab1 LEFT OUTER JOIN tab2 ON tab1.c3 = tab2.c3
RIGHT OUTER JOIN tab3 LEFT OUTER JOIN tab4
ON tab3.c1 = tab4.c1
ON tab2.c3 = tab4.c3

victorli 2003-05-29
  • 打赏
  • 举报
回复
如果查询条件是

key1="111" and key2="222" and key3="333"

select key2,key3,key4,key5 from A where key1="111" and key2="222" and key3="333"
union
select key6 from B where key1="111" and key2="222" and key3="333"
union
select key7 from C where key1="111"
union
select key9 from D where key1="111"
fishone 2003-05-29
  • 打赏
  • 举报
回复
那我就重新说明一下:
A (key1, key2, key3, key4, key5)
B (key0, key1, key2, key3, key4, key5)
C (key1, key5, key7)
D (key1, key4, key9)
要查询的结果 key2,key3,key4,key5,key6,key7,key9
机能:在一个画面上输入查询条件 key1=...; key2=...; key3=...
然后在4个表中查询符合条件的记录

select语句怎么写呢?
fishone 2003-05-28
  • 打赏
  • 举报
回复
我用的是oracle数据库
fishone 2003-05-28
  • 打赏
  • 举报
回复
能不能把具体的select语句写出来
yzssg 2003-05-28
  • 打赏
  • 举报
回复
你在视图里直接生成后拷出来吧
dudunono 2003-05-28
  • 打赏
  • 举报
回复
A b c 利用LEFT JION 关联
A B D 你在根据 主键 关联

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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