有关SQL数据库的游标问题
发布网友
发布时间:2022-04-07 20:07
我来回答
共1个回答
热心网友
时间:2022-04-07 21:36
不是很明白你所说的
hi我详谈吧
我猜你是根据某个表的主键列,然后游标取每个主键值在另一个表中的对应记录数吧?如果是的话,大概是这样处理:
DECLARE @PriKey INT
DECLARE my_cursor CURSOR FOR SELECT 主键列名 FROM 表1
OPEN my_cursor
FETCH NEXT FROM my_cursor INTO @PriKey
WHILE @@FETCH_STATUS = 0
BEGIN
select count(*) from 表2 where 条件列=@PriKey
FETCH NEXT FROM my_cursor INTO @PriKey
END
CLOSE my_cursor
DEALLOCATE my_cursor
GO
其实,如果你的需求真像上面我猜的那样的话,那不用游标,一句SQL就可以查出来了:
select t1.主键列名,sum(case when t2.对应列名 is null then 0 else 1 end) as 记录数
from 表1 t1 left join 表2 on t1.主键列名=t2.对应列名
group by t1.主键列名