问题不在于语句,问题在于【@bqkh=sum(....】你想要多行数据,但记在变量里面的只会有一个值,变量不同于表不会把所有的结果都记录下如果一定要多个结果的话,使用临时表吧,把查询结果都插入临时表,或者另建一个表每次进来就删除那个表的数据,或者删除那个临时表。但如果这个存储过程调用很频繁,很多人调用容易产生并发问题更好的解决方案是:使用表函数,即:写个函数,返回值是表变量