比较2SQLtables,如果数据不匹配,则在3rdtable中放入一个整数值
Compare 2 SQL tables, if data does not match, put an integer value in 3rd table
有没有办法比较3 sql tables (A, B, C)?哪个 A 和 B 的列在 A 中标有名称、时间戳,在 B 中标有名称、计划时间。我需要比较这两列,如果它们不匹配,请将数值 1 放入 [ 中名称旁边的第 2 列中=25=] C. 我是 SQL 的新手,但不确定这是否可行。 (使用 SSMS)
Table A长这样。
Name | Time
-----------------
John | 7:00AM
Joe | 7:07AM
Tim | 7:25AM
Table B长这样
Name | Schedule
--------------------
John | 7:00AM
Joe | 7:00AM
Tim | 7:00AM
Table 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 代码。但是 here 是一个 SQL Fiddle,我有信心证明上面的方法有效。
有没有办法比较3 sql tables (A, B, C)?哪个 A 和 B 的列在 A 中标有名称、时间戳,在 B 中标有名称、计划时间。我需要比较这两列,如果它们不匹配,请将数值 1 放入 [ 中名称旁边的第 2 列中=25=] C. 我是 SQL 的新手,但不确定这是否可行。 (使用 SSMS)
Table A长这样。
Name | Time
-----------------
John | 7:00AM
Joe | 7:07AM
Tim | 7:25AM
Table B长这样
Name | Schedule
--------------------
John | 7:00AM
Joe | 7:00AM
Tim | 7:00AM
Table 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 代码。但是 here 是一个 SQL Fiddle,我有信心证明上面的方法有效。