Tenha uma tabela chamada Produtos e nessa tabela consta o valor, a quantidade e o tipo de pagamento e gostaria de fazer uma chamada para me retornar o valor total das vendas em um determinado período e o valor em dinheiro. Exemplo:
SELECT [Data Venda],
(SELECT Sum(Quantidade * Preço) FROM [Produto] WHERE [Data Venda] >= '2012-12-30' And [Data Venda] <= '2012-12-31' ) As 'Total',
(SELECT Sum(Quantidade * Preço) FROM [Produto] WHERE [Data Venda] >= '2012-12-30' And [Data Venda] <= '2012-12-31' And Dinheiro = 1) As 'Dinheiro'
FROM [Produto]
WHERE [Data Venda] >= '2012-12-30' And [Data Venda] <= '2012-12-31'
GROUP BY [Data Venda]
Tabela
Data Venda | Produto | Valor | Quantidade | Dinheiro | Cartão
30/12/2012 | Café | 1,00 | 1 | TRUE | FALSE
30/12/2012 | Pilha | 2,00 | 2 | FALSE | TRUE
31/12/2012 | Açucar | 4,00 | 1 | TRUE | FALSE
Porém com a chamada que fiz ele me retorna da seguinte forma
MYSQL chamando dois selects
em Demais Bancos
Postado
Caros,
Tenha uma tabela chamada Produtos e nessa tabela consta o valor, a quantidade e o tipo de pagamento e gostaria de fazer uma chamada para me retornar o valor total das vendas em um determinado período e o valor em dinheiro. Exemplo:
SELECT [Data Venda],
(SELECT Sum(Quantidade * Preço) FROM [Produto] WHERE [Data Venda] >= '2012-12-30' And [Data Venda] <= '2012-12-31' ) As 'Total',
(SELECT Sum(Quantidade * Preço) FROM [Produto] WHERE [Data Venda] >= '2012-12-30' And [Data Venda] <= '2012-12-31' And Dinheiro = 1) As 'Dinheiro'
FROM [Produto]
WHERE [Data Venda] >= '2012-12-30' And [Data Venda] <= '2012-12-31'
GROUP BY [Data Venda]
Tabela
Data Venda | Produto | Valor | Quantidade | Dinheiro | Cartão
30/12/2012 | Café | 1,00 | 1 | TRUE | FALSE
30/12/2012 | Pilha | 2,00 | 2 | FALSE | TRUE
31/12/2012 | Açucar | 4,00 | 1 | TRUE | FALSE
Porém com a chamada que fiz ele me retorna da seguinte forma
DATA Total Dinheiro
30/12/2012 9,00 5,00
31/12/2012 9,00 5,00
e eu gostaria que ficasse assim:
DATA Total Dinheiro
30/12/2012 5,00 1,00
31/12/2012 4,00 4,00
Alguma dica ou solução??
Abraços...