Ответ 1
Правильный синтаксис выглядит так. См. MSDN.
SELECT *
FROM [FAEB].[dbo].[ExportaComisiones] AS f
JOIN [zCredifiel].[dbo].[optPerson] AS p
ON p.vTreasuryId COLLATE Latin1_General_CI_AS = f.RFC COLLATE Latin1_General_CI_AS
Я пытаюсь присоединиться к двум таблицам, но я получаю эту ошибку:
Msg 468, уровень 16, состояние 9, строка 8 Не удается разрешить конфликт сопоставления между "SQL_Latin1_General_CP1_CI_AS" и "Latin1_General_CI_AS" в равном действию.
Это код, который я использую:
SELECT *
FROM [FAEB].[dbo].[ExportaComisiones] AS f
JOIN [zCredifiel].[dbo].[optPerson] AS p
ON (p.vTreasuryId = f.RFC) COLLATE Latin1_General_CI_AS
Я знаю, что это неправильно, это подчеркивает COLLATE. Я не знаю, как его применять.
Правильный синтаксис выглядит так. См. MSDN.
SELECT *
FROM [FAEB].[dbo].[ExportaComisiones] AS f
JOIN [zCredifiel].[dbo].[optPerson] AS p
ON p.vTreasuryId COLLATE Latin1_General_CI_AS = f.RFC COLLATE Latin1_General_CI_AS
Как правило, вы можете использовать параметры сортировки Database_Default, поэтому вам не нужно выяснять, какой из них использовать. Тем не менее, я настоятельно рекомендую прочитать прекрасную статью Саймонса Лью. Понимание предложения COLLATE DATABASE_DEFAULT в SQL Server.
SELECT *
FROM [FAEB].[dbo].[ExportaComisiones] AS f
JOIN [zCredifiel].[dbo].[optPerson] AS p
ON (p.vTreasuryId = f.RFC) COLLATE Database_Default