J'essaie de joindre deux tables mais j'obtiens cette erreur:
Msg 468, niveau 16, état 9, ligne 8 Impossible de résoudre le conflit de classement entre "SQL_Latin1_General_CP1_CI_AS" et "Latin1_General_CI_AS" identiques à l'opération.
C'est le code que j'utilise:
SELECT *
FROM [FAEB].[dbo].[ExportaComisiones] AS f
JOIN [zCredifiel].[dbo].[optPerson] AS p
ON (p.vTreasuryId = f.RFC) COLLATE Latin1_General_CI_AS
Je sais que c'est faux, cela souligne COLLATE . Je ne sais pas comment l'appliquer.
La syntaxe correcte ressemble à ceci. Voir 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
En règle générale, vous pouvez utiliser un classement Database_Default afin que vous n'ayez pas à déterminer lequel utiliser. Cependant, je suggère fortement de lire l'excellent article de Simons Liew Comprendre la clause COLLATE DATABASE_DEFAULT dans SQL Server
SELECT *
FROM [FAEB].[dbo].[ExportaComisiones] AS f
JOIN [zCredifiel].[dbo].[optPerson] AS p
ON (p.vTreasuryId = f.RFC) COLLATE Database_Default