查询比较来自类似表的动态列

时间:2017-04-03 22:56:18

标签: sql-server dynamic-programming

我有两个" LINKED SERVER"具有多个表的数据库OLDDUMP和LATESTDUMP。每个给定的表具有相同的名称,具有相同的列,例如OLDDUMP和LATESTDUMP都具有表SIB,并且两个表具有相同的列,如(angle,tilt,param1,param2,param3 ..... param200等...)。我需要比较这些表中的每一列(例如比较t1.tilt和t2.tilt..etc)并找到不匹配的记录。我的代码适用于少数几列。但对于200多列,我不想写条件(其中t1.angle<> t2.angle ......等)

SELECT * FROM (
SELECT  *
FROM LATESTDUMP...SIB$) t1

FULL OUTER JOIN (
SELECT *

FROM OLDDUMP...SIB$) t2

ON t1.id = t2.id

WHERE
t1.id IS NULL OR
t2.id IS NULL OR
t1.angle<>t2.angle OR
t1.tilt<>t2.tilt... 
t1.param1<>t2.param1
t1.param2<>t2.param2
.

t1.param200<>t2.param200
.

我不想写静态查询的另一个原因是表SIB中的列可以在以后更改

0 个答案:

没有答案