我有两个表我想比较。它们也位于不同的数据库和服务器中。我添加了一个链接的服务器,可以从服务器1内查询。来自不同表和数据库的总和和比较列
Server1上的表1提供了提交数据的细分。例如ref#123可能出现3次,值为100,150和200(总计为)。我想比较Server2上的Table2,它也有ref#123和总数,并返回正确的记录,如果总数不同于。
希望这是有道理的!感谢
我有两个表我想比较。它们也位于不同的数据库和服务器中。我添加了一个链接的服务器,可以从服务器1内查询。来自不同表和数据库的总和和比较列
Server1上的表1提供了提交数据的细分。例如ref#123可能出现3次,值为100,150和200(总计为)。我想比较Server2上的Table2,它也有ref#123和总数,并返回正确的记录,如果总数不同于。
希望这是有道理的!感谢
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是表,其中参考号123可以出现多次。 COL2包含的值100150200 e.t.c
我得到不正确的语法关键字 '其中' 附近: '从 选择* (\t选择submission_id,SUM([里程覆盖]) \t从tbl_weekly_expenses \t组由submission_id )点t1内连接 ( \t选择的子ID,和(英里) \t从server.database.dbo.tblExpensesMileage 由子ID \t组 )T 2,其中t1.submission_id> t2.subid' – ajguk 2012-01-31 10:16:11
@ajguk它应该是ON。 – Zohaib 2012-01-31 10:19:50
太好了,谢谢你这个......! – ajguk 2012-01-31 11:05:53
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
什么是 “返回正确的记录” 是什么意思? – gbn 2012-01-31 09:49:45
可能是错误的 - 更像'不正确'的记录。即来自table2的返回记录,其中总数不等于来自table1的记录。 – ajguk 2012-01-31 10:04:11