我正在尝试学习如何将一个表中的多个列连接到另一个表中的单个列。
这是我最简单的表结构:
小组
id | team_name |
1 | teamA |
2 | teamB |
3 | teamC |
4 | teamD |
有一个名为“TeamInOut”的表
In | Out
- | teamA
teamB | -
- | teamC
teamD | -
- | teamD
我想回来的结果是:
In | Out |teamid
- | teamA | 1
teamB | - | 2
- | teamC | 3
teamD | - | 4
- | teamD | 4
我的问题是,如何创建teamid列?请帮帮我。
答案 0 :(得分:2)
以下是您需要的查询,但最好学习如何操作:
Declare @Team Table ( id int , team_name varchar(50))
Declare @TeaminOut table (ins varchar(50) , outs varchar(50))
insert into @Team
select 1 , 'teamA' union
select 2 , 'teamB' union
select 3 , 'teamC' union
select 4 , 'teamD'
insert into @TeaminOut
select '-', 'teamA' union
select 'teamB', '-' union
select '-', 'teamc' union
select 'teamD', '-' union
select '-', 'teamD'
[![enter image description here][1]][1]
select tio.ins , tio.outs , t.id
from @Team as t
inner join @TeaminOut as tio ON t.team_name = tio.ins or t.team_name = tio.outs
order by id
这是结果
祝你好运答案 1 :(得分:-2)
SELECT * FROM Teams JOIN TeamInOut