Obtive o seguinte erro ao rodar o codigo, podem me ajudar?
Msg 468, Level 16, State 9, Line 14 Cannot resolve the collation conflict between "Latin1_General_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation.
Obtive o seguinte erro ao rodar o codigo, podem me ajudar?
Msg 468, Level 16, State 9, Line 14 Cannot resolve the collation conflict between "Latin1_General_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation.
Opa, Eduardo, tudo bem?
Você está fazendo um INNER JOIN
com duas tabelas de diferentes tipos de collation.
Collation é a configuração que determina como o SQL Server compara e classifica os caracteres de strings. Uma está com a "Latin1_General_CI_AS" e a outra está usando a "SQL_Latin1_General_CP1_CI_AS".
Para resolver esse problema, você pode forçar a collation de uma das colunas para que corresponda à da outra coluna durante a operação de JOIN
. Aqui está um exemplo de como você pode fazer isso:
SELECT
A.CODIGO AS CODIGO_MINHA_TABELA, A.PRECO_LISTA AS PRECO_MINHA_TABELA,
B.CODIGO_DO_PRODUTO AS CODIGO_TABELA_APOIO, B.PRECO_DE_LISTA AS PRECO_TABELA_APOIO
FROM PRODUTOS A
INNER JOIN SUCOS_FRUTAS.DBO.TABELA_DE_PRODUTOS B
ON A.CODIGO COLLATE SQL_Latin1_General_CP1_CI_AS = B.CODIGO_DO_PRODUTO;
No código acima eu estou forçando a coluna CODIGO
da tabela PRODUTOS
para usar a collation "SQL_Latin1_General_CP1_CI_AS" durante a operação de JOIN
.
Por favor, tente isso e veja se resolve o seu problema.
Se a dúvida persistir, estou aqui.
Abraços e bons estudos!