比较两个SQL表,如果数据不匹配,在第三个表中放入一个整数值



有办法比较3个sql表(a、B、C)吗?哪一个A和B的列在A中标记为Name,TimeStamp,在B中标记为Name,ScheduledTime。我需要比较这两列,如果它们不匹配,请在表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 Fiddle现在似乎没有运行MS SQL代码。但这里有一个SQL Fiddle,我相信它会证明上面的方法是有效的。

相关内容

最新更新