比较和显示基于条件的数据

时间:2015-10-18 18:57:45

标签: mysql sql

我有一个要求,我希望比较两个表中的数据,如果使用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。

1 个答案:

答案 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