Gostaria de uma ajuda para finalizar uma consulta SQL, vou utilizar um exemplo fictício para descrever o que preciso.
SELECT tbCidades.nome as Cidade, tbFiliais.nome as Filial, tbProdutos.nome as NomeProduto
FROM cidades tbCidades, filiais tbFiliais, produtos tbProdutos, vendas tbVendas
WHERE tbFiliais.idCidade=tbCidades.idCidade and tbProdutos.idFilial=tbFilial.idFilial and tbProdutos.idProduto=tbVendas.idProduto
and tbCidades.nome='Rio de Janeiro' and tbFiliais.nome='Copacabana' and tbVendas.data='15/11/2017'
GROUP BY Cidade, Filial, NomeProduto
O que preciso:
4ª coluna: Contar qtas vendas efetuadas da respectiva Cidade-Filial-Produto que tenham tbVendas.formapgto 'C' (cartão de crédito) Nome da Coluna seria: VendasCartao
5ª coluna: Contar qtas vendas efetuadas da respectiva Cidade-Filial-Produto que tenham tb.Vendas.formapgto 'D' (dinheiro) Nome da Coluna seria: VendasDinheiro
6ª coluna: Contar qtas vendas efetuadas da respectiva Cidade-Filial-Produto independente da formapgto ou que tb.Vendas.formapgto in ('C', 'D') Nome da Coluna seria: VendasTotal
Resultado Esperado:
Cidade Filial NomeProduto VendasCartao VendasDinheiro VendasTotal
Rio de Janeiro Copacabana Cadeira de Praia 4 2 6
Rio de Janeiro Copacabana Barraca de Praia 3 0 3
Rio de Janeiro Copacabana Mesa Plastico 8 6 14
Já tentei usar de tudo... subqueries com select+count(tbVendas.idVenda), função, etc... e nada. Sempre pega na questão do group by.
Pergunta
playnet
Boa tarde!
Gostaria de uma ajuda para finalizar uma consulta SQL, vou utilizar um exemplo fictício para descrever o que preciso.
SELECT tbCidades.nome as Cidade, tbFiliais.nome as Filial, tbProdutos.nome as NomeProduto
FROM cidades tbCidades, filiais tbFiliais, produtos tbProdutos, vendas tbVendas
WHERE tbFiliais.idCidade=tbCidades.idCidade and tbProdutos.idFilial=tbFilial.idFilial and tbProdutos.idProduto=tbVendas.idProduto
and tbCidades.nome='Rio de Janeiro' and tbFiliais.nome='Copacabana' and tbVendas.data='15/11/2017'
GROUP BY Cidade, Filial, NomeProduto
O que preciso:
4ª coluna: Contar qtas vendas efetuadas da respectiva Cidade-Filial-Produto que tenham tbVendas.formapgto 'C' (cartão de crédito) Nome da Coluna seria: VendasCartao
5ª coluna: Contar qtas vendas efetuadas da respectiva Cidade-Filial-Produto que tenham tb.Vendas.formapgto 'D' (dinheiro) Nome da Coluna seria: VendasDinheiro
6ª coluna: Contar qtas vendas efetuadas da respectiva Cidade-Filial-Produto independente da formapgto ou que tb.Vendas.formapgto in ('C', 'D') Nome da Coluna seria: VendasTotal
Resultado Esperado:
Cidade Filial NomeProduto VendasCartao VendasDinheiro VendasTotal
Rio de Janeiro Copacabana Cadeira de Praia 4 2 6
Rio de Janeiro Copacabana Barraca de Praia 3 0 3
Rio de Janeiro Copacabana Mesa Plastico 8 6 14
Já tentei usar de tudo... subqueries com select+count(tbVendas.idVenda), função, etc... e nada. Sempre pega na questão do group by.
Alguma sugestão?
Obrigado,
Alex
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados