私はDMレイヤーの2つのテーブルを比較しようとしていますが、2つの異なるデータベース(古いデータと新しいデータベース、データの一貫性/比較データ分析) 2つのテーブルを比較するには、EDWとMDM/Mapsレイヤーに参加する必要があります。私はコンテンツのマッチのために列と行を比較する必要があり、私は一致しないコンテンツを何らかの方法で出力したい。あなたはこれをどのように進めますか?SQL Serverの2つのテーブルをデータベースとレイヤーで比較する
今まで私はこの完全外部結合を持っています。 http://weblogs.sqlteam.com/jeffs/archive/2004/11/10/2737.aspx
しかし、私はFULL OUTER JOINの代わりにUNION ALLを働かせることはできません。あなたはどのように進んでいくのでしょうか、あなたはすべてUNION ALLを使っていますか?
select * from (
select dm.*, mdm.ProductionSystem, mdm.SchoolIdent
from DM_OLD.dbo.DimSchool dm
inner join EDW_OLD.dbo.School edw on dm.EdwSchoolId = edw.SchoolID
inner join MDM_OLD.dbo.School mdm on edw.SYS_BusinessKeyFK = mdm.SYS_BusinessKeyID
) a
full outer join
(
select dm.*, maps.ProductionSystem, maps.SchoolIdent
from dm.dbo.DimSchool dm
inner join edw.dbo.School edw on dm.EdwSchoolId = edw.SchoolID
inner join edw.maps.School maps on edw.SYS_BusinessKeyFK = maps.SYS_BusinessKeyID
) b ON a.ProductionSystem = b.ProductionSystem AND a.SchoolIdent = b.SchoolIdent
私は最近、同じような仕事に直面しました。私はSSISを使用し、メモリ内の比較を世話し、異なるフィールドを出すC#ソースコンポーネントを作成することに決めました... – Tyron78