SELECT
c.Cidade AS cidade
, (
SELECT
COUNT(*)
FROM tabelaemprestimo AS e
WHERE c.id_cliente = e.id_cliente
AND e.Status
) AS total_emprestimos_ativos
FROM tabelaclientes AS c
WHERE 1=1
;
SELECT
c.Cidade AS cidade
, (
SELECT
COUNT(*)
FROM tabelaemprestimo AS e
WHERE c.id_cliente = e.id_cliente
AND e.Status
) AS total_emprestimos_ativos
FROM tabelaclientes AS c
WHERE 1=1
;
Oi, Carlos! Como vai?
Agradeço por compartilhar.
Sua resolução ficou bem alinhada com a proposta da atividade, usando uma subconsulta correlacionada para contar os empréstimos de cada cidade a partir do id_cliente. Um ponto interessante é que a condição c.id_cliente = e.id_cliente faz a subconsulta ser executada considerando cada cliente da consulta principal, o que permite chegar ao total de empréstimos ativos por cidade.
Dica: para deixar a condição do status mais explícita, você pode escrever AND e.Status = 'Ativo', caso os valores da coluna estejam registrados em texto. Assim, a consulta fica mais fácil de ler e evita dúvidas sobre quais registros estão sendo considerados ativos. Continue praticando subconsultas, pois elas ajudam bastante em análises mais detalhadas no SQL.