为什么我的查询结果每次只会显示 一条 我的符合条件的数据明明有很多条 但是每次查询都只会出现一条结果

create procedure cx @rs int,@rriqi1 date,@criqi1 date as --查询符合人数和日期的房间

declare @num char(7)

declare getCur cursor for

select num from fangjian

where @rs=rs

and num not in(select num from dengji where @rriqi1>=rriqi1 or @criqi1<=criqi1)

open getCur

fetch getCur into @num

select num 房号,rs 可居住人数

from fangjian

where num=@num

close getCur

deallocate getCur

根据你提供的存储过程代码,查询结果只会显示一条数据,这是因为你使用了游标查询数据,每次只能获取一条记录,即使用fetch getCur into @num操作只能从游标中获取一条记录。如果你希望获取所有符合条件的记录,可以考虑使用集合运算符(如UNION、UNION ALL、INTERSECT、EXCEPT)或者使用临时表存储查询结果并返回给客户端。此外,你在查询fajian表和dengji表时使用了嵌套查询,可能会影响查询性能,建议使用JOIN或者EXISTS关键字来优化查询。