本文介绍了比较两个SQL表,如果数据不匹配,在第三个表中放一个整数值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有没有办法比较3个SQL表(A、B、C)?A和B中的哪些列标记为Name,Timestamp在A中,而Name,ScheduledTime在B中。我需要比较这两列,如果它们不匹配,请在表C中名称旁边的列2中放一个数值1。我对SQL还不熟悉,但不确定这是否可能。(使用SSMS)
表A如下所示。
Name | Time
-----------------
John | 7:00AM
Joe | 7:07AM
Tim | 7:25AM
表B如下所示。
Name | Schedule
--------------------
John | 7:00AM
Joe | 7:00AM
Tim | 7:00AM
表C应该如下所示。
Name | Number
-----------------
John | 0
Joe | 1
Tim | 1
推荐答案
对于您的示例数据,可以执行以下操作:
select a.name, (case when a.time = b.schedule then 0 else 1 end) as number
into c
from a join
b
on a.name = b.name;
不清楚这是否是一般解决方案,但它适用于提供的数据。
编辑:
SQL Fdle当前似乎没有运行MS SQL代码。但是here是一个SQL文件夹子,我相信它会证明上面的方法是有效的。这篇关于比较两个SQL表,如果数据不匹配,在第三个表中放一个整数值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!