1
resposta

[Reclamação] Exercicio errado

Mais um exercício mal formulado... a reposta sugerida pelo instrutor (na imagem) produz uma tabela nula, muito diferente da saída esperada no enunciado do exercício. Isso porque cada cliente só tem uma conta

Com tantos exercícios mal formulados estou ficando frustrada e me arrependendo de ter comprado 1 ano de acesso a plataforma da Alura. Deve ser o 4º exercício da série 'Praticando SQL' que eu preciso abrir uma reclamação.

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

1 resposta

Boa tarde, Thamires!

Obrigada por relatar e desculpa por essa experiência, de fato era um erro nosso. O problema estava na fonte dos dados, mais especificamente no momento da inserção dos dados na tabela TabelaClienteConta. Para que a query funcione corretamente e retorne os resultados esperados, era necessário existirem clientes com mais de uma conta nessa tabela. Se nenhum cliente satisfaz essa condição, a CTE retorna vazia, e consequentemente, a query principal não retorna nenhum resultado como foi o seu caso.

Para resolver isso, é necessário garantir que a tabela TabelaClienteConta contenha dados onde alguns clientes possuam múltiplas contas, sendo assim, apague a tabela, crie-a novamente e faça a inserção conforme os códigos abaixo:

DROP TABLE TabelaClienteConta;
-- Tabela ClienteConta
CREATE TABLE TabelaClienteConta (
    id_conta VARCHAR(20) NOT NULL,
    id_cliente VARCHAR(20) NOT NULL,
    PRIMARY KEY (id_conta, id_cliente),
    CONSTRAINT fk_cliente_conta_cliente FOREIGN KEY (id_cliente) REFERENCES TabelaClientes(id_cliente),
    CONSTRAINT fk_cliente_conta_conta FOREIGN KEY (id_conta) REFERENCES TabelaConta(id_conta)
);
-- Inserindo dados na TabelaClienteConta
INSERT INTO TabelaClienteConta (id_cliente, id_conta) VALUES
('CL01', 'CT01'), -- Cliente CL01 tem a conta CT01
('CL01', 'CT02'), -- Cliente CL01 tem a conta CT02 (múltiplas contas)
('CL02', 'CT03'), -- Cliente CL02 tem a conta CT03
('CL02', 'CT04'), -- Cliente CL02 tem a conta CT04 (múltiplas contas)
('CL03', 'CT05'), -- Cliente CL03 tem a conta CT05
('CL03', 'CT06'), -- Cliente CL03 tem a conta CT06 (múltiplas contas)
('CL04', 'CT07'), -- Cliente CL04 tem a conta CT07
('CL04', 'CT08'), -- Cliente CL04 tem a conta CT08 (múltiplas contas)
('CL05', 'CT09'), -- Cliente CL05 tem a conta CT09
('CL05', 'CT10'); -- Cliente CL05 tem a conta CT10 (múltiplas contas)

Em seguida, execute novamente a CTE para identificar clientes com múltiplas contas e os empréstimos. O resultado será como mostrado abaixo:

Consulta SQL com duas CTEs que identificam clientes com múltiplas contas e listam seus empréstimos; abaixo, tabela com cinco resultados contendo `id_emprestimo`, `id_cliente` e `Valor`.

Reforço que nossa equipe já realizou a correção dos dados no script de inserção na atividade preparando ambiente.

Se tiver mais alguma dúvida, pode contar comigo.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!