1
resposta

[Dúvida] O meu resultado foi uma tabela só com 10 itens, onde errei?

Apliquei o código conforme a aula mas no final não ficou separadinho por mes, ficou so agrupado pelo fornecedor

SELECT strftime('%Y/%m', v.data_venda) as 'ano/mes', f.nome as fornecedor, COUNT(iv.venda_id) as vendas
FROM itens_venda iv
JOIN vendas v
    ON v.id_venda = IV.venda_id
JOIN produtos p 
    ON iv.produto_id =  p.id_produto
JOIN fornecedores f
    ON f.id_fornecedor = p.fornecedor_id
GROUP BY fornecedor, 'ano/mes'
ORDER by fornecedor

O resultado foi esse: (https://cdn1.gnarususercontent.com.br/1/5983817/1a8d0672-5ead-4e45-8391-7901ec9a9550.png)

1 resposta

Oii, Malena! Tudo bem?

Isso ocorreu porque na cláusula GROUP BY do seu código, o agrupamento por 'ano/mes' não está sendo reconhecido como deveria, devido a aspas simples adicionado ao ano/mes. O SQL interpretará como uma string literal com as aspas simples, ao invés de um nome de uma coluna calculada.

Então, nesse caso é interessante substituir as aspas simples por aspas duplas em ano/mes para que o SQL realize a leitura correta:

GROUP BY fornecedor,  "ano/mes"

Faça o teste realizando a substituição e, depois, clique em Run para rodar o código. Observe se funciona como esperado.

Espero ter ajudado. Qualquer dúvida, conte conosco.

Bons estudos, Malena!