连接同一表的数据到一表的多列中

 
if not object_id('A') is null
    drop table A
Go
create table A
(id int,user1 int,user2 int,user3 int,pro1 int,pro2 int,por3 int)
insert into A values(1,2,1,2,1,1,1)
insert into A values(2,1,2,3,1,2,2)

if not object_id('B') is null
    drop table B
Go
create table B
(id int ,user_name varchar(50))
insert into B values(1,'张三')
insert into B values(2,'李四')
insert into B values(3,'王麻子')

if not object_id('C') is null
    drop table C
Go
create table C 
(id int ,pro_name varchar(50))

insert into C values(1,'魔兽')
insert into C values(2,'星际')
insert into C values(3,'cs')
 
select A.id,T.user_name,S.user_name,J.user_name,H.pro_name,M.pro_name,N.pro_name from A 
join B T on A.user1=T.id  
join B S on  A.user2=S.id
 join B J on  A.user3=J.id 
 join C H on A.pro1=H.id
  join C M on A.pro1=M.id
   join C N on A.pro1=N.id
ORDER BY A.id
 

id          user_name                                          user_name                                          user_name                                          pro_name                                           pro_name                                           pro_name
----------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- --------------------------------------------------
1           李四                                                 张三                                                 李四                                                 魔兽                                                 魔兽                                                 魔兽
2           张三                                                 李四                                                 王麻子                                                魔兽                                                 魔兽                                                 魔兽

(2 行受影响)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值