2015-04-19 8 views
0

У нас есть две таблицы: MainTable и CloneOfMainTableСравнить UniqueIdentifier в пункте где

Структура обеих таблиц:

ID : int Identity Primarykey 
Foo: nvarchar(50) 
RowVersion : uniqueidentifier 

Мы хотим, чтобы просто получить обновленные строки путем сравнения RowVersion и бла-бла .. .

SELECT * 
FROM MainTable 
INNER JOIN CloneOfMainTable On MainTable.ID = CloneOfMainTable.ID 
WHERE MainTable.RowVersion <> CloneOfMainTable.RowVersion 

и он не работает^_ ^»

+0

Как _exactly_ он не работает? Вы получаете сообщения об ошибках? Отличается ли результат выбора от того, что вы ожидаете, и как? Объясните лучше, чтобы получить лучший ответ. – 9000

+0

nah, просто он не возвращает никакого результата, часть предложения where не работает – patachi

+0

Вы уверены, что должны получить результаты? –

ответ

1

Нет ограничений на сравнение значений уникальных идентификаторов. Когда колонна обнуляемым вы можете использовать coalesce включать null значения в сравнении:

WHERE coalesce(MainTable.RowVersion,'00000000-0000-0000-0000-000000000000') <> coalesce(CloneOfMainTable.RowVersion,'00000000-0000-0000-0000-000000000000') 
Смежные вопросы