MySql查询给出了编辑器和调用语句的不同结果

时间:2015-03-05 00:02:10

标签: mysql

我有一个查询,它在从Workbench编辑器执行并使用调用语句从编辑器调用存储过程时产生不同的结果

我正在执行的声明如下

SELECT 
    sum(PassCount) as PassCount, 
    sum(FailCount) as FailCount, 
    sum(NotAttempted) as NotAttempted, 
    sum(GoalAchieved) as GoalAchieved, 
    sum(B.AttemptCount) as AttemptCount, 
    @i as UserCount 
FROM usergoalachievement A 
JOIN userattemptcount B on B.GoalId=A.GoalId and B.UserProfileId=A.UserProfileId 
WHERE B.UserProfileId in (select distinct UserProfileId from usergrouprole WHERE RoleId=4 and GroupId=29) 
AND FIND_IN_SET(cast(A.GoalId as char),'30' ) and ifnull(ProgressionType,'')=ifnull(@progressionType,'PMP2') ; 

NULL,NULL,NULL,NULL,NULL,NULL

现在使用上面的语句创建一个新的过程sp_test,并使用workbench中的call语句调用该过程,如下所示

call sp_test();

现在结果如下

'63','214','99','0','363','0'

为什么这对同一个查询有所不同( usergoalachievement,userattemptcount是视图

除了创建存储过程之外,编辑器和存储过程中的语句没有变化。

有人可以解释为什么会发生这种情况

谢谢大家

0 个答案:

没有答案