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的记录全部显示出来该如何写

...全文
124 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
结果是什么?

34,838

社区成员

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

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