Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Porównaj wartość wielu kolumn z dwóch różnych baz danych

Zakładając, że rozważasz NULL być takim samym (podczas gdy SQL Server nie):

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wstaw nodejs mssql z parametrami

  2. Zmodyfikuj ograniczenie CHECK w programie SQL Server za pomocą T-SQL

  3. Wydajność SQL:WHERE vs WHERE (ROW_NUMBER)

  4. Usuń dane za pomocą funkcji wartościującej tabelę w SQL Server

  5. Wymień wszystkie kolumny SQL o maksymalnej długości ORAZ największej długości