我有一个要求,我希望比较两个表中的数据,如果使用sql查询不匹配,则只显示列。
将同一个人的用户ID,电子邮件和电话号码存储在两个表中。现在我想比较两个表格中的电子邮件和电话号码数据,只显示电子邮件和电话号码,只有它们是不同的数据。
我尝试了类似这样的东西,但这并没有解决我的目的,因为它与空数据不匹配,无法比较两列:
select email, phone
case when employee.email != user_details.email then 'Mis-match'
else ' ' end as Email
from employee, user_details
where employee.usrid=user_details.usrid;
我们怎样才能实现这一点,任何指针?
-Thanks。
答案 0 :(得分:0)
如果您想要的一切是将2个表中的空值视为匹配 - 您需要将case
更新为以下内容:
case when ((employee.email is null and user_details.email is null) or
(employee.email = user_details.email)) then
' '
else
'Mis-match'
end as Email