Boa tarde. No código abaixo, o cursor está funcionando. Eu já tentei alterar ele várias vezes pra fazer a função que desejo que é a seguinte:
Ao percorrer o cursor, ao invés de imprimir todos os pilotos que tiraram 1 lugar (inclusive repetindo os mesmos nomes que já foram campeões mais de uma vez), queria que ele imprimisse 1 vez a pessoa e com um contador de vitórias
declare teste
cursor for
select c.NomeCircuito , p.NomePiloto , pos.Data
from Circuito c, Piloto P, PosPilotoProva pos
where c.codCircuito = pos.codcircuito and pos.CodPiloto = p.CodPiloto and pos.Posicao = 1
declare @nome_circuito varchar(10), @nome_piloto varchar(10), @data datetime
open teste
fetch next from teste
into @nome_circuito,@nome_piloto,@data
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT @nome_piloto + ' ' + @nome_circuito + ' ' + Convert(varchar(10), @data, 101)
fetch next from teste
into @nome_circuito,@nome_piloto,@data
END
CLOSE teste
DEALLOCATE teste
O Sistema de tabelas é a seguinte:
[img]https://sites.google.com/site/dlspat23/imagens/ER.jpg[/img]
Obrigado pela atenção :D