Решение проблемы сопоставления между двумя таблицами - PullRequest
0 голосов
/ 14 декабря 2018

У меня есть следующий скрипт SQL, пытающийся выполнить объединение двух таблиц, расположенных в одной базе данных.Кажется, одна таблица имеет другой тип сортировки

select * from ns.TurnsCOS 
union all 
select * from ns.TurnsValue 

После запуска я получаю следующую ошибку

enter image description here

У меня естьпрочитайте другие посты, связанные с исправлением проблем сортировки, но добавление 'Collate Latin1_General_Bin' после предложения from, похоже, не работает

Как лучше всего решить эту проблему сопоставления между двумя таблицами?

1 Ответ

0 голосов
/ 14 декабря 2018

Вы должны изменить параметры сортировки каждого столбца в отдельности, например,

select OtherCols, Col1, Col6, Col7
from ns.TurnsCOS 
union all 
select OtherCols, Col1 collate SQL_Latin1_General_CP1_CI_AS, Col6 collate SQL_Latin1_General_CP1_CI_AS, Col7 collate SQL_Latin1_General_CP1_CI_AS
from ns.TurnsValue 

. Вы можете навсегда изменить параметры сортировки столбцов следующим образом - но вы должны быть очень осторожны, поскольку это может привести к конфликту с другими существующими запросами.:

ALTER TABLE [TableName] ALTER COLUMN [Col_Name] 
            [Existing Data-Type] COLLATE [New_Collation] [NULL | NOT NULL];  
GO  

Ссылка: https://docs.microsoft.com/en-us/sql/relational-databases/collations/set-or-change-the-column-collation?view=sql-server-2017

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...