mssql sqlserver 使用sql脚本查找“同一张表中的字段值是否存在于另一个字段中”


摘要:
下文讲述一张表中 一个字段存在于另一个字段中检测,如下所示:
实验环境:sql server 2008 R2


下文采用实例的方式讲述,sqlserver 中同时对一张表中的两个字段进行检测的方法分享,如下所示:

 create table [maomao365]([A] nvarchar(88),[B] nvarchar(88))
 create table #tmp([A] nvarchar(88),[B] nvarchar(88))

insert into [maomao365](A,B)
select N'猫猫',N'教程' union all
select N'sql',N'猫猫' union all
select null,N'其它' union all
select N'其它',N'猫猫' union all
select N'奥特曼',N'sql' union all
select N'不知道',null
Go
--将符合条件的输入插入至临时表
INSERT INTO tmp
SELECT A + CASE
                 WHEN EXISTS
                      (
                          SELECT * FROM dbo.A b WHERE a.A = b.b
                      ) THEN
                     '(存在)'
                 ELSE
                     ''
             END,
       a.b
FROM [maomao365] a;
--检测插入的记录是否符合条件
SELECT * FROM #tmp


go

truncate table #tmp
drop       table #tmp 
go


truncate table [maomao365]
drop       table [maomao365]