比较sql server中相同表的列

时间:2015-03-09 10:02:36

标签: sql sql-server tsql

我试图比较表的列并获取不匹配的行。有人帮我编写查询以获取其中Email_ID格式不是Firstname.Lastname@abc.com的行以下情景。



S.no  Firstname	 Lastname	  Email_ID
701	   Sean	          Paul	       Sean.Paul@abc.com
702	   Mike	          Tyson	       Mike.Samuel@abc.com
703	  Richard	  Bernard      Jim.Anderson@abc.com
704	   Simon	  Sharma       Rita.sharma@abc.com




3 个答案:

答案 0 :(得分:3)

你的意思是:

select -- some columns
from table
where Email_ID <> (FirstName + '.' + Lastname + '@abc.com')

SQL中没有任何内容可以阻止将一列与另一列进行比较,并且 - 使用更多语法 - 甚至跨行。

答案 1 :(得分:2)

搜索邮件地址与Concat(firstname。lastname @)

不同的行
select * from tablename
where Email_ID NOT LIKE (Firstname + '.' + Lastname + '@%')

答案 2 :(得分:1)

SELECT *
FROM YourTable
WHERE CHARINDEX(FirstName + '.' + LastName + '@', Email) = 0