现有一个表:
表A
adress pepole
宁波 张三(NB)
宁波 李四(NB)
宁波 王五(NB)
杭州 张三(HZ)
杭州 李四(HZ)
杭州 王五(HZ)
转化为表
表B
NBpepole HZpepole
张三(NB) 张三(HZ)
李四(NB) 李四(HZ)
王五(NB) 王五(HZ)
/*
现有一个表:
表T
adress pepole
宁波 张三(NB)
宁波 李四(NB)
宁波 王五(NB)
杭州 张三(HZ)
杭州 李四(HZ)
杭州 王五(HZ)
转化为表
表B
NBpepole HZpepole
张三(NB) 张三(HZ)
李四(NB) 李四(HZ)
王五(NB) 王五(HZ)
解答:
*/
drop table T
create table T(adress nvarchar(10),pepole nvarchar(10))
insert T select '宁波', '张三(NB)'
union all select '宁波', '李四(NB)'
union all select '宁波', '王五(NB)'
union all select '杭州', '张三(HZ)'
union all select '杭州', '李四(HZ)'
union all select '杭州', '王五(HZ)'
union all select '杭州', '王五2(HZ)'
union all select '杭州', '王五3(HZ)'
union all select '温州', '张三(WZ)'
union all select '温州', '李四(WZ)'
select * from t
drop table #t1
drop table #t2
drop table #t3
select ID=identity(int,1,1),* into #T1 from T where adress='宁波'
select ID=identity(int,1,1),* into #T2 from T where adress='杭州'
select ID=identity(int,1,1),* into #T3 from T where adress='温州'
select * from #t1
select * from #t2
select * from #t3
drop table B
create table B(NBpepole nvarchar(10),HZpepole nvarchar(10),WZpepole nvarchar(10))
insert into B(NBpepole,HZpepole,WZpepole)
select #T1.pepole,#T2.pepole,#T3.pepole
from #T1
full join #T2 on #T1.ID=#T2.ID full join #T3 on #T2.ID=#T3.ID
select * from B