sql >> Databasteknik >  >> RDS >> Sqlserver

Jämför värdet av flera kolumner från två olika databaser

Förutsatt att du överväger NULL att vara samma (medan SQL Server inte gör det):

SELECT 
  d1.col1, d1.col2, d1.col3, d1.col4,
  d2.col1, d2.col2, d2.col3, d2.col4,
  [RESULT] = CASE 
    WHEN (d1.col2 = d2.col2 OR (d1.col2 IS NULL AND d2.col2 IS NULL))
     AND (d1.col3 = d2.col3 OR (d1.col3 IS NULL AND d2.col3 IS NULL))
     AND (d1.col4 = d2.col4 OR (d1.col4 IS NULL AND d2.col4 IS NULL))
    THEN 1 ELSE 0 END
FROM ABC.dbo.tbl_123 AS d1
FULL OUTER JOIN
XYZ.dbo.tbl_123 AS d2
  ON d1.col1 = d2.col2;


  1. SSIS API:Hur vet man vilket gränssnitt man ska casta ett __COMObject till?

  2. Uppdatera SQL med konsekutiv numrering

  3. Xampp och MySQL har inte startat

  4. Oracle :Select distinct fungerar inte när markören är inuti en markör (med marköruttryck)