两表关联问题?

rgb_rgb 2006-10-28 07:58:32
有两个表A,B
A表
y1 y2
1 dd
2 df
3 dt
4 ss
.......

B表
w1 w2
1 2005
4 2004
........

要得到C表

y1 y2 w2
1 dd 2005
2 df
3 dt
4 ss 2004

注:无论B表中有没有A表中的数据,A表中的数据全部要显示?
...全文
266 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
hellowork 2006-10-28
  • 打赏
  • 举报
回复
抱歉,更正一下:
SELECT A.NetID,
B.UserName,
B.Address,
B.Telephone,
C.AccState,
D.Enddate

FROM dbo.B,
inner join dbo.C on B.UserID = C.UserID
inner join dbo.A on B.UserID = A.UserID
left join dbo.D on A.BusinessID = D.BusinessID /*使用LEFT JOIN*/

----或
SELECT isnull(A.NetID,D.NetID),
B.UserName,
B.Address,
B.Telephone,
C.AccState,
D.Enddate

FROM dbo.B,
inner join dbo.C on B.UserID = C.UserID
inner join dbo.A on B.UserID = A.UserID
full join dbo.D on A.BusinessID = D.BusinessID /*使用FULL JOIN*/
hellowork 2006-10-28
  • 打赏
  • 举报
回复
这样试试:
SELECT isnull(A.NetID,D.NetID),
B.UserName,
B.Address,
B.Telephone,
C.AccState,
D.Enddate

FROM dbo.B,dbo.C,dbo.A FULL join dbo.D /*使用FULL JOIN*/
on A.BusinessID = D.BusinessID

where B.UserID = A.UserID and
B.UserID = C.UserID and
A.BusinessID = C.BusinessID
rgb_rgb 2006-10-28
  • 打赏
  • 举报
回复
给一条比较完整的,
rgb_rgb 2006-10-28
  • 打赏
  • 举报
回复
SELECT A.NetID,
B.UserName,
B.Address,
B.Telephone,
C.AccState,
D.Enddate

FROM dbo.B,dbo.C,dbo.A left outer join dbo.D on A.BusinessID = D.BusinessID

where B.UserID = A.UserID and
B.UserID = C.UserID and
A.BusinessID = C.BusinessID --and
--A.BusinessID = D.BusinessID
其中D表中有些数据不在A表中,但要显示出来A,B,C表中的信息?



xyxfly 2006-10-28
  • 打赏
  • 举报
回复
就会有很多相同的数据


可以考虑distinct

或者group by

楼主还是具体点

也可以自己多试试连接
liangfei1983 2006-10-28
  • 打赏
  • 举报
回复
select a.*,b.w2 from a left join b on a.y1=b.w1
rgb_rgb 2006-10-28
  • 打赏
  • 举报
回复
就会有很多相同的数据
rgb_rgb 2006-10-28
  • 打赏
  • 举报
回复
这个我试个,就是还有几张表要关联?用表A表中的y1,
wuguang007 2006-10-28
  • 打赏
  • 举报
回复
SELECT Y1,Y2,W2 FROM A,B WHERE A.y1*=B.w1
wuguang007 2006-10-28
  • 打赏
  • 举报
回复
SELECT Y1,Y2,W2 FROM A,B WHERE A*=B
lxzm1001 2006-10-28
  • 打赏
  • 举报
回复
left join
hellowork 2006-10-28
  • 打赏
  • 举报
回复
select a.y1,a.y2,b.w2 from A as a left join B as b on a.y1 = b.w1
splory 2006-10-28
  • 打赏
  • 举报
回复
select y1 , y2 , w2 from A left join B on A.y1=B.w1

34,591

社区成员

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

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