2017-06-22 69 views
1
I am getting the following error 

无法解析的等于操作“Latin1_General_BIN”和 “Latin1_General_CI_AS”之间的排序规则冲突。无法解析“Latin1_General_BIN”,并在平等的“Latin1_General_CI_AS”之间的排序规则冲突操作

代码

SELECT @PARTS = SUM(Llines_1.[qty]) from pick 
RIGHT OUTER JOIN op AS Llines_1 ON pick.picknote = 
Llines_1.[order_no] WHERE (pick.batchid = @batchid) AND (product = @product) 
group by product Order By product 

我已经厌倦了使用COLLATE SQL_Latin1_General_CP1_CI_AS前从,但仍然得到同样的错误。

SELECT @PARTS = SUM(Llines_1.[qty]) COLLATE SQL_Latin1_General_CP1_CI_AS 
from pick RIGHT OUTER JOIN op AS Llines_1 ON pick.picknote = Llines_1. 
[order_no] WHERE (pick.batchid = @batchid) 
AND (product = @product) group by product Order By product 
+0

,请复制粘贴代码'COLLATE'。哪些列有不同的排序规则? –

+0

编辑原稿以包含COLLATE的代码。我不确定哪些列有不同的排序规则,我将如何确定它? – Emma

+0

Emma,您可以在SSMS中的列的属性页面中查看排序规则 –

回答

1

我假设的picknoteorder_no排序规则是不同的 试试这个:

SELECT @PARTS = SUM(Llines_1.[qty]) 
from pick 
RIGHT OUTER JOIN op AS Llines_1 ON pick.picknote = Llines_1.[order_no] COLLATE SQL_Latin1_General_CP1_CI_AS 
WHERE (pick.batchid = @batchid) 
    AND (product = @product) group by product Order By product 
+0

现在我得到此错误..表达式类型float对于COLLATE子句无效。 – Emma

+0

picknote是nvarchar(50),order_no是char(10) – Emma

+0

一分钟,仍然有第一个COLLATE在那里,现在将删除。 – Emma

相关问题