我有以下代码:
SELECT
Przedmiot, COUNT(Ocena) 'wystawiono n ocen'
FROM
Przedmiot
JOIN
ocena ON przedmiot.IdPrzedmiot = Ocena.IdPrzedmiot
GROUP BY
Przedmiot
如何使用T-SQL游标运行它?
这是我到目前为止的内容,但它多次在同一行中显示:(
DECLARE db_cursor CURSOR FOR
SELECT Przedmiot, COUNT(Ocena) 'wystawiono n ocen'
from Przedmiot
join ocena
on przedmiot.IdPrzedmiot = Ocena.IdPrzedmiot
group by Przedmiot
DECLARE @Przedmiot varchar(50)
DECLARE @IloscOnen varchar(50)
OPEN db_cursor
FETCH NEXT FROM db_cursor into @Przedmiot, @IloscOnen
WHILE @@FETCH_STATUS = 0
BEGIN
print @Przedmiot + ' - wystawiono ' + @IloscOnen + ' ocen'
FETCH NEXT FROM db_cursor
END
CLOSE db_cursor
DEALLOCATE db_cursor
go
答案 0 :(得分:0)
您需要将值FETCH
放入变量:
DECLARE db_cursor CURSOR FOR
SELECT Przedmiot, COUNT(Ocena) 'wystawiono n ocen'
from Przedmiot
join ocena
on przedmiot.IdPrzedmiot = Ocena.IdPrzedmiot
group by Przedmiot
DECLARE @Przedmiot varchar(50)
DECLARE @IloscOnen varchar(50)
OPEN db_cursor
FETCH NEXT FROM db_cursor into @Przedmiot, @IloscOnen
WHILE @@FETCH_STATUS = 0
BEGIN
print @Przedmiot + ' - wystawiono ' + @IloscOnen + ' ocen'
FETCH NEXT FROM db_cursor into @Przedmiot, @IloscOnen
END
CLOSE db_cursor
DEALLOCATE db_cursor
go