我的服务器是Latin1_General_CI_AS
我的数据库是Latin1_General_CI_AS
我的桌子是Latin1_General_CI_AS
我的专栏是Latin1_General_CI_AS
我的查询是:
SELECT Product, [Bradken Part Number], Drawing,
(SELECT TOP (1) Location FROM dbo.Events_Table AS e WHERE
(Product = dbo.JobSummaryView1.Product)
ORDER BY DateTime1 DESC) AS Expr1
FROM dbo.JobSummaryView1
但是当我运行这个查询时,它说SQL_Latin1_General_CP1_CI_AS和Latin1_General_CI_AS之间存在整理混淆!
怎么会这样? 我猜测子查询是使用SQL_Latin1_General_CP1_CI_AS,但为什么?
我知道我可以通过在SELECT中指定排序规则来修复它,但我宁愿阻止它发生。
我正在使用SQL Server Express 2014
答案 0 :(得分:0)
试试这个。
...WHERE fieldname COLLATE DATABASE_DEFAULT = otherfieldname COLLATE DATABASE_DEFAULT
答案 1 :(得分:0)
对不起,我的坏......
正在加入的视图与另一个实际上是SQL_Latin1_General_CP1_CI_AS
的数据库有关我在该视图中添加了COLLATE,现在在我发布的查询中不需要任何COLLATES。
抱歉:$
答案 2 :(得分:0)
<强>答案强>
如果您可以诊断视图。条件&#34; Product = dbo.JobSummaryView1.Product&#34; 必须应用单独的排序规则。