我尝试在SQL Server 2008R2中创建过程,但它显示此错误
无法解决等于运算中“Latin1_General_CI_AI”和“SQL_Latin1_General_CP1_CI_AS”之间的排序规则冲突。
我创建的过程是
CREATE Procedure Ps_Quiz_OnlineTest_QuestionsWithOptions_Get --'Ques1'
@Ques Varchar(8000)
As
Begin
Select
A.QuestionId,
A.QsnDesc,
A.CorrectOption,
B.OptionValue,
A.Marks,
(
Select QsnName
From Quiz_tblQsnsLimitMaster
Where QsnId = @Ques) QuesPaper,
(
Select Durationoftest
From Quiz_tblQsnsLimitMaster
Where QsnId = @Ques) QuesPaper
From
Quiz_tblQsnCreationMaster A,
Quiz_tblQsnCreationDetail B
Where
A.QuestionId = B.QuestionId
And A.QuestionId In (
Select QuestionIds
From FN_Question_Answers_Quiz(@Ques))
And B.QuestionId In (
Select QuestionIds
From FN_Question_Answers_Quiz(@Ques))
Order By
A.QuestionId,
B.OptionOrder
End
我试着用不同的排序规则对表进行排序,但没有成功。我该如何解决这个问题。
6条答案
按热度按时间pu3pd22g1#
这可能会有帮助,像这样更改where条件
vtwuwzda2#
既然你提到了每个表中的QuestionID都是varchar,那么很可能是它们之间的比较,所以猜测一下,试着改变这行:
致:
我更希望您对表使用正确的连接语法--但那是以后的事了;-)
eqqqjvef3#
请尝试使用以下命令,其中字段名COLLATEDATABASE_DEFAULT =第二个字段名COLLATEDATABASE_DEFAULT
这是工作
rsl1atfo4#
在连接具有不同排序规则的表时只需使用以下语法,
5lwkijsr5#
要解决这个问题,请使用以下代码:
dxpyg8gm6#
我在迁移数据库和服务提供商转移服务器后也遇到了同样的问题。因此,作为解决方案,我使用CPanel创建了新的数据库,然后执行SQL查询,以恢复模式和数据。最后,这个问题得到了解决。