对来自不同表和数据库的列求和并进行比较

时间:2012-01-31 09:45:55

标签: sql sql-server-2008

我有两张桌子要比较。它们也位于不同的数据库和服务器中。我添加了一个链接服务器,可以从服务器1中查询。

Server1上的Table1提供了已提交数据的细分。例如, ref#123 可能会出现3次,值为100,150和200(总 450 )。我想比较Server2上还有 ref#123 的Table2和总数,如果总数不同于 450 ,则返回正确的记录。

希望这是有道理的!感谢

2 个答案:

答案 0 :(得分:2)

select *
from
(select col1, SUM(col2)
from table1
group by col1) t1 INNER JOIN
(select col1, col2
from table2) t2 ON t1.col1 = t2.col1 where t1.col2 <> t2.col2
  

表1是表#,其中ref#123可以多次出现。   col2包含值100,150,200 e.t.c

答案 1 :(得分:0)

SELECT *
FROM
(
    SELECT
      ref,
      SUM(values) values
    FROM Server1.YourDb1.YourSchema.TableBreakdowns
) t1
FULL JOIN Server2.YourDb1.YourSchema.TableTotals t2
  ON t1.ref = t2.ref
WHERE t1.values <> t2.values OR t1.ref is null OR t2.ref is null