有没有办法比较3个sql表(A,B,C)?哪个A和B的列有标签,A中的TimeStamp和B中的Name,ScheduledTime。我需要比较这两列,如果它们不匹配,则将数值1放入表格中名称旁边的第2列C.我对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
答案 0 :(得分:2)
对于您的样本数据,以下内容将起作用:
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代码。但here是一个SQL小提琴,我有信心会证明上述情况有效。