Last active
November 18, 2015 00:47
-
-
Save tkovs/07f778ccc9500d4e0a1d to your computer and use it in GitHub Desktop.
[RESOLVIDO] Dúvida sobre QUERY
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Tenho as seguintes tabelas: | |
SELECT * FROM cliente; | |
id nome celular | |
---------- ---------- ---------- | |
1 Joao 981****** | |
2 Nivaldo 981****** | |
3 Layse 981****** | |
4 Raimundo 981****** | |
5 Arthur 981****** | |
6 Vera 981****** | |
7 Nilda 981****** | |
8 Jackson 981****** | |
SELECT * FROM produto; | |
id nome preco | |
---------- ---------- ---------- | |
1 Biscoito 1.5 | |
2 Pizza 20.0 | |
3 Churros 2.0 | |
4 Cachorro Q 3.0 | |
5 Coxinha 2.75 | |
6 Panqueca 2.5 | |
SELECT * FROM venda; | |
id codigo idCliente idProduto quantidade | |
---------- ---------- ---------- ---------- ---------- | |
1 43 8 1 3 | |
2 43 8 6 1 | |
3 43 8 4 2 | |
6 66 1 4 3 | |
7 66 1 6 10 | |
Fiz a seguinte query: | |
SELECT cliente.nome, produto.nome, venda.quantidade, (produto.preco * venda.quantidade) AS 'total a pagar' FROM produto, cliente, venda WHERE cliente.id = venda.idCliente AND venda.idProduto = produto.id; | |
Que me retornou | |
nome nome quantidade total a pagar | |
---------- ---------- ---------- ------------- | |
Jackson Biscoito 3 4.5 | |
Jackson Panqueca 1 2.5 | |
Jackson Cachorro Q 2 6.0 | |
Joao Cachorro Q 3 9.0 | |
Joao Panqueca 10 25.0 | |
Quero saber como mostrar o seguinte: | |
nome total a pagar | |
---------- ------------- | |
Jackson 13.0 | |
Joao 34.0 | |
O mais perto que cheguei foi a seguinte query: | |
SELECT cliente.nome, (produto.preco * venda.quantidade) AS 'total a pagar' FROM produto, cliente, venda WHERE cliente.id = venda.idCliente AND venda.idProduto = produto.id; | |
Que me retorna o seguinte: | |
nome total a pagar | |
---------- ------------- | |
Jackson 4.5 | |
Jackson 2.5 | |
Jackson 6.0 | |
Joao 9.0 | |
Joao 25.0 | |
[EDIT] | |
Adicionei um GROUP BY no nome do cliente mas só exibia um dos valores que deveriam ser pagos, não a soma deles. Pra ajeitar eu usei a função sum na coluna total a pagar. Ficou assim: | |
SELECT cliente.nome, sum((produto.preco * venda.quantidade)) AS 'total a pagar' FROM produto, cliente, venda WHERE cliente.id = venda.idCliente AND venda.idProduto = produto.id GROUP BY cliente.nome; | |
Resultado: | |
nome total a pagar | |
---------- ------------- | |
Jackson 13.0 | |
Joao 34.0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment