无法解决“之间的排序规则冲突”;SQL拉丁语通用CP1 CI AS;及;中国“中华人民共和国”CI“AS”;在等于运算中
如果I无法解决“之间的排序规则冲突”;SQL拉丁语通用CP1 CI AS;及;中国“中华人民共和国”CI“AS”;在等于运算中,sql,sql-server,Sql,Sql Server,如果I内部连接b.strMachID上的tblMachine=tblMachine.strMachID 出现以下错误: 无法解决等于操作中“SQL拉丁1_General_CP1_CI_AS”和“Chinese_PRC_CI_AS”之间的排序规则冲突 这个错误是什么意思?这是我的问题 select distinct b.strCostCentreID , b.strPOSOnlineRefNo, strPayTypeCode, b.strRemarks as Agency, tblMachine
内部连接b.strMachID上的tblMachine=tblMachine.strMachID
出现以下错误:
无法解决等于操作中“SQL拉丁1_General_CP1_CI_AS”和“Chinese_PRC_CI_AS”之间的排序规则冲突
这个错误是什么意思?这是我的问题
select distinct b.strCostCentreID , b.strPOSOnlineRefNo, strPayTypeCode, b.strRemarks as Agency, tblMachine.strDesc As KName,
(SUM(b.dblPaidAmt)) as RM
From tblCurrTrxMaster as b INNER JOIN tblMachine on b.strMachID = tblMachine.strMachID
WHERE strPaymentMethod = '02' and (b.dtmCreated>='1/23/2020') AND (strTransStatus='01')
GROUP BY b.strCostCentreID , b.strPOSOnlineRefNo, b.strPayTypeCode, b.strRemarks ,b.strMachID, tblMachine.strDesc
您可以强制使用排序规则
select distinct b.strCostCentreID , b.strPOSOnlineRefNo, strPayTypeCode, b.strRemarks as Agency, tblMachine.strDesc As KName,
(SUM(b.dblPaidAmt)) as RM
From tblCurrTrxMaster as b INNER JOIN tblMachine
on b.strMachID COLLATE SQL_Latin1_General_CP1_CI_AS= tblMachine.strMachID COLLATE SQL_Latin1_General_CP1_CI_AS
WHERE strPaymentMethod = '02' and (b.dtmCreated>='1/23/2020') AND (strTransStatus='01')
GROUP BY b.strCostCentreID , b.strPOSOnlineRefNo, b.strPayTypeCode, b.strRemarks ,b.strMachID, tblMachine.strDesc
这意味着您正试图与具有不同排序规则的字符串列进行比较。请参阅。理想情况下,您可以更改其中一个排序规则,使它们都相同,否则可能会导致性能问题。作为一个简单的修复方法,在查询中使用collate关键字更改其中一列的排序规则,以使它们匹配。是。我得到了它。非常感谢,我刚刚在Table Designer中删除了“Chinese_PRC_CI_AS”。除非您有充分的理由,否则最好通过您的组织使用相同的排序规则。这种对细节的关注对于避免这样的错误非常重要。以后很难更改排序规则。