На сервере есть две идентичные по структуре базы (назовем их DB1 и DB2).
Обнаруживаю, что в одной из баз в таблице (MyTable) добавлены поля. Поскольку полей много, на глаз определить какие поля добавлены трудно.
Пишу запрос:
SELECT *
FROM
(
SELECT Col.name AS NmCol
FROM dbo.syscolumns Col,
dbo.sysobjects Obj
WHERE Col.ID = Obj.ID AND
obj.name = 'MyTable'
) AS MyTable_OnDB_1
LEFT OUTER JOIN
(
SELECT Col.name AS NmCol
FROM DB2.dbo.syscolumns Col,
DB2.dbo.sysobjects Obj
WHERE Col.ID = Obj.ID AND
obj.name = 'MyTable'
) AS MyTable_OnDB_2
ON MyTable_OnDB_1.NmCol = MyTable_OnDB_2.NmCol
WHERE MyTable_OnDB_2.NmCol IS NULL |
|
Получаю ошибку:
Server: Msg 446, Level 16, State 9, Line 1
Cannot resolve collation conflict for equal to operation.
Самое интересное, что по одтельности оба подзапроса работают. Где я протупил?