扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:csdn 来源:csdn 2009年12月18日
关键字: MS-SQL Server 问答
查询不同结构两表不同记录。
我有这样的两个表:
Table A:
name Dept age
----------------
mary IT 23
henry fs 25
joyce pr 28
Table B:
name Dept Sex
----------------
mary HR F
henry fs m
joyce ps F
我现在想要把这两个表比较,
得出不同记录,并放在一起比较,
并能多出一个字段Remark做判断是否相同。
得出结果如下:
name Dept_A Dept_B age sex Remark
-------------------------------------
mary IT HR 23 f N
henry fs fs 25 m Y
joyce pr ps 28 f N
Remark就表示比较是否Dept一样,如果一样就标记Y,如果不一样就N.
SQL code
select a.name, a.dept as Dept_A ,b.dept as Dept_B, age ,sex ,
case when a.dept=b.dept then 'Y' else 'N' end as Remark
from a join b on a.name=b.name
SQL codedeclare @A table(name varchar(10),Dept varchar(10),age int)
insert into @A select 'mary ','IT',23
insert into @A select 'henry','fs',25
insert into @A select 'joyce','pr',28
declare @B table(name varchar(10),Dept varchar(10),sex char(1))
insert into @B select 'mary ','HR','F'
insert into @B select 'henry','fs','m'
insert into @B select 'joyce','ps','F'
select
A.name,A.Dept as Dept_A,B.Dept as Dept_B,A.age,B.Sex,
(case when A.Dept=B.Dept then 'Y' else 'N' end) as Remark
from
@A A,@B B
where
A.name=B.name
/*
name Dept_A Dept_B age Sex Remark
---------- ---------- ---------- ----------- ---- ------
mary IT HR 23 F N
henry fs fs 25 m Y
joyce pr ps 28 F N
*/
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者