1
resposta

[Reclamação] Minha resolução

DECLARE @TABELA_BAIRROS TABLE (
    BAIRRO VARCHAR(50)
)

DECLARE @BAIRRO VARCHAR(50)

DECLARE @QTD_BAIRROS INT

SELECT @QTD_BAIRROS = COUNT(*)
FROM (
    SELECT DISTINCT BAIRRO
    FROM [dbo].[TABELA DE CLIENTES]
) QTD_BAIRROS

DECLARE @I INT

SET @I = 1

SET NOCOUNT ON
WHILE @I <= @QTD_BAIRROS
BEGIN
    SELECT @BAIRRO = BAIRRO
    FROM (
        SELECT DISTINCT BAIRRO, ROW_NUMBER() OVER (ORDER BY BAIRRO) AS NUM_LINHA
        FROM [dbo].[TABELA DE CLIENTES]
    ) QTD_BAIRROS
    WHERE QTD_BAIRROS.NUM_LINHA = @I

    INSERT INTO @TABELA_BAIRROS
    VALUES
    (@BAIRRO)

    SET @I = @I + 1
END

SELECT * FROM @TABELA_BAIRROS
ORDER BY BAIRRO

O enunciado está super confuso e o exercicio proposto não faz sentido nenhum.

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Oi, Ycaro! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura. Dá para ver que você montou uma estrutura de loop com WHILE e usou ROW_NUMBER() para percorrer os bairros, o que mostra domínio das funções de janela.

Destaco que nesse desafio, em treinar o uso de estruturas de controle no T-SQL, como o WHILE, OFFSET e FETCH NEXT. De toda forma, agradeço o feedback! Ele é importante para aperfeiçoar os cursos.

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!