Конфликт сопоставления в одной базе данных
Я выполняю объединение по двум запросам. Упрощенная версия выглядит так:
select * from Audit.dbo.PolicyList_t pl
union
select * from Audit.dbo.PolicyList_CurrencyFlip_t pl
Обе таблицы находятся в одной базе данных. Однако я получаю следующую ошибку:
Не удалось разрешить конфликт сопоставления между "Latin1_General_CI_AS" и "SQL_Latin1_General_CP1_CI_AS" в операции UNION.
Я ожидаю, что при работе с разными базами данных произошла ошибка сопоставления, а не при запросе двух таблиц в одной и той же базе данных.
Я проверил свойства обеих таблиц и в обоих случаях сопоставление Latin1_General_CI_AS
, Однако, когда оба выбирают адрес одной и той же таблицы, я не получаю никаких ошибок. Очевидно, что при запуске по отдельности оба выбирают работу.
Я на SQL Server. Любое предложение, что может быть источником проблемы?
1 ответ
В SQL Server, по крайней мере, сопоставление может быть применено к каждому столбцу. Так что я бы проверил это.
Этот вопрос о настройке одинакового сопоставления для всех столбцов может оказаться полезным.