Я пытаюсь создать запрос, который будет извлекать все измененные строки из исходной таблицы, сравнивая его с целевой таблицей.
Первичный ключ (на самом деле он не определен как первичный ключ, просто то, что мы знаем, идентифицирует уникальную строку) является составным, состоящим из множества внешних ключей. Примерно около 15, большинство из которых могут иметь значения NULL. Для простоты предположим, что первичный ключ состоит из этих трех ключевых столбцов и имеет 2 поля значений, которые необходимо сравнить:
CREATE TABLE SourceTable
(
Key1 int NOT NULL,
Key2 nvarchar(10),
Key3 int,
Value1 nvarchar(255),
Value2 int
)
Если Key1 = 1, Key2 = NULL и Key3 = 4. Тогда я бы хотел сравнить его со строкой в target, которая имеет точно такие же значения в ключевых полях. Включая NULL в ключе 2.
Поля значений также могут иметь значения NULL.
Так какой же лучший подход использовать при разработке таких запросов, когда значения NULL следует рассматривать как реальные значения и сравнивать?
НУЛЕВОЙ? COALESCE? Перекрыть
Есть предложения?