首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

联表查询sqlserver,该怎么处理

2013-07-01 
联表查询sqlserver第一张表:IDNameSex100张三1true100张三2true100张三3true210李四1false210李四2false第

联表查询sqlserver
第一张表:
ID        Name     Sex
100      张三1      true
100      张三2      true
100      张三3      true
210      李四1      false
210      李四2      false
第二张表:
ID   Salary
100  5000
100  6000
100  7000
210  8000
210  9000
我想组合成:
ID    Name  Sex  Salary
100   张三1    true   5000
100   张三2    true   6000
100   张三3    true   7000
210   李四1    false   8000
210   李四2    false   9000
这个sql语句怎么写啊? SQL?Server SQL sql语句
[解决办法]


create table 第一张表
(ID int, Name varchar(10), Sex varchar(10))

insert into 第一张表
 select 100, '张三1', 'true' union all
 select 100, '张三2', 'true' union all
 select 100, '张三3', 'true' union all
 select 210, '李四1', 'false' union all
 select 210, '李四2', 'false'
 
create table 第二张表
(ID int, Salary int)

insert into 第二张表
 select 100, 5000 union all
 select 100, 6000 union all
 select 100, 7000 union all
 select 210, 8000 union all
 select 210, 9000
 

select t1.ID, t1.name, t1.Sex, t2.Salary
from
(select ID,name,Sex,
        row_number() over(order by (select 0)) 'rn'
 from 第一张表) t1
inner join
(select ID,Salary,
        row_number() over(order by (select 0)) 'rn'
 from 第二张表) t2 on t1.rn = t2.rn

/*
ID          name       Sex        Salary
----------- ---------- ---------- -----------
100         张三1        true       5000
100         张三2        true       6000
100         张三3        true       7000


210         李四1        false      8000
210         李四2        false      9000

(5 row(s) affected)
*/

热点排行