Как использовать COLLATE в JOIN в SQL - PullRequest
0 голосов
/ 04 апреля 2019

Я пытаюсь объединить две таблицы, но получаю эту ошибку:

Сообщение 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

1 Ответ

0 голосов
/ 04 апреля 2019

Вам нужно collate один столбец, а не оба:

SELECT f.*, p.*
FROM [FAEB].[dbo].[ExportaComisiones] AS f JOIN 
     [zCredifiel].[dbo].[optPerson] AS p
     ON p.vTreasuryId COLLATE Latin1_General_CI_AS = f.RFC;

Я не знаю, какой столбец должен изменить имя сопоставления, но это поможет вам как явно изменить имя сопоставления.

Однако, если два столбца имеют одинаковые имена параметров сортировки, вам не нужно менять параметры сортировки.

...