• 全部
  • 基础类
  • 应用实例
  • 新技术前沿

Join (left,inner,right outer)

QQQQAnnie 2008-02-25 01:35:08
主表:MID		Name
1 op1
2 op2
3 op3
4 op4
子表1:MID SID
1 1
1 2
2 1
2 2
2 3
3 2
3 1
子表2:MID UID
1 2
2 2
1 1
写一个视图把主表,子表1,子表2的记录全部显示出来该如何写

...全文
97 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wjpath23 2008-02-25
create view main(MID,name,SID,UID) as
select dbo.tb.MID,dbo.tb.name,dbo.ctb1.SID,dbo.ctb2.UID
from dbo.tb FULL OUTER join dbo.ctb1 on dbo.tb.MID =dbo.ctb1.MID left join dbo.ctb2 on dbo.tb.MID = dbo.ctb2.MID
select *
from main
drop view main

1 op1 1 1
1 op1 1 2
2 op2 1 2
2 op2 2 2
2 op2 3 2
3 op3 1 NULL
3 op3 2 NULL
4 op4 NULL NULL
回复
bqb 2008-02-25
select   m.MID,a.SID,b.UID  from   main   m 
left join table_a a
on m.MID=a.MID
left join table_b b
on m.MID=b.MID
回复
QQQQAnnie 2008-02-25
select m.*,a.*,b.* from main m
left join table_a a
on m.MID=a.MID
left join table_b b
on m.MID=b.MID


这么写对吗
回复
zefuzhang2008 2008-02-25
你的sid uid列怎么处理
回复
QQQQAnnie 2008-02-25
我想按主表的记录行数把所有的记录显示出来
(子表2和子表1是查询的条件)
我想写成一个视图

但写出来的语句总是多出来了
回复
heshengfen123 2008-02-25
create view join_all
as
select a.MID,a.Name,b.SID,c.UID from 主表 a
right join table1 b
on a.MID=b.MID
left join 子表2 c
on a.MID=c.MID
回复
conannb 2008-02-25
问题不清楚啊
回复
zefuzhang2008 2008-02-25
显示格式是什么??
回复
rainbowliuliang 2008-02-25
把你想查询出来的结果样式贴出来
才知道如何帮你解决!!!!!
回复
中国风 2008-02-25
显示格式楼主没有贴出来

select MID,Name from t
union all
select * from T2
union all
select * from T3
回复
中国风 2008-02-25
用union all连接
回复
dawugui 2008-02-25
结果是什么?
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2008-02-25 01:35
社区公告
暂无公告