Abaixo está uma instrução que descreve uma tarefa de geração de SQL, combinada com uma entrada que fornece mais contexto sobre os esquemas de tabela disponíveis. Escreva o código SQL que responda adequadamente à solicitação
 ###Instrução: Listar todos os casos, advogados e o número de faturas associadas.
 ###Tabelas: 
CREATE TABLE cases (case_id INT, case_type VARCHAR(255)); INSERT INTO cases (case_id, case_type) VALUES (1, 'Civil'), (2, 'Criminal'); CREATE TABLE attorneys (attorney_id INT, attorney_name VARCHAR(255)); INSERT INTO attorneys (attorney_id, attorney_name) VALUES (1, 'John Smith'), (2, 'Jane Doe'); CREATE TABLE billing (bill_id INT, case_id INT, attorney_id INT, amount DECIMAL(10, 2)); INSERT INTO billing (bill_id, case_id, attorney_id, amount) VALUES (1, 1, 1, 500.00), (2, 1, 2, 250.00), (3, 2, 1, 750.00);
SELECT c.case_id, c.case_type, a.attorney_name, COUNT(b.bill_id) as num_bills FROM cases c INNER JOIN attorneys a ON c.attorney_id = a.attorney_id LEFT OUTER JOIN billing b ON c.case_id = b.case_id AND a.attorney_id = b.attorney_id GROUP BY c.case_id, c.case_type, a.attorney_name;