2つのテーブルを結合しようとしていますが、このエラーが発生します。
メッセージ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
私はそれが間違っていることを知っています、それはCOLLATEを強調します。私はそれを適用する方法を知りません。
正しい構文は次のようになります。 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
一般的なルールとして、Database_Default照合を使用できるため、どちらを使用するかを決める必要はありません。ただし、Simons Liewの優れた記事を読むことを強くお勧めします SQL ServerのCOLLATE DATABASE_DEFAULT句について
SELECT *
FROM [FAEB].[dbo].[ExportaComisiones] AS f
JOIN [zCredifiel].[dbo].[optPerson] AS p
ON (p.vTreasuryId = f.RFC) COLLATE Database_Default