1
resposta

Resolução - calculando o valor total de empréstimos por cidade

Boa tarde!

SELECT
    CIDADE,
    (
        SELECT
            TO_CHAR(SUM(VALOR), 'L999G999G990D00', 'NLS_NUMERIC_CHARACTERS = '',.''')
        FROM
            EMPRESTIMO
        WHERE
            CLIENTES.ID_CLIENTE = EMPRESTIMO.ID_CLIENTE
    ) AS VALOR_TOTAL_EMPRÉSTIMOS
FROM
    CLIENTES    
ORDER BY VALOR_TOTAL_EMPRÉSTIMOS DESC;

Saída:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Oii Estudante, tudo bem?

Obrigada por compartilhar sua resolução aqui no fórum, com certeza vai ajudar outros alunos que estejam nessa mesma atividade.

Sua consulta está bem estruturada: você usou corretamente a subconsulta correlacionada para calcular o total por cliente dentro do contexto de cada cidade, e ainda aplicou o TO_CHAR para formatar o valor com separadores e símbolo de moeda. Fica bem mais legível assim na saída.

Vale notar que, dependendo do banco e do conjunto de dados, o ORDER BY com alias pode ter comportamento inesperado quando o valor é texto formatado (a ordenação será lexicográfica, não numérica). Se quiser garantir a ordem correta pelo valor numérico, uma alternativa é ordenar por uma segunda subconsulta ou por um campo calculado sem formatação.

Continue assim!

Conte com a Alura para evoluir seus estudos. Em caso de dúvidas, fico à disposição.

Bons estudos!

Sucesso

Imagem da comunidade