有办法比较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,我相信它会证明上面的方法是有效的。