科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道查询不同结构两表不同记录。

查询不同结构两表不同记录。

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

查询不同结构两表不同记录。

作者: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领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章