Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Pedroalves

[Resolvido] so sumar

Recommended Posts

não estou a conseguir somar dos dados da tabela com o mesmo id

segue -se codigo de sql

update vendas set VALOR_TOTAL=(SELECT sum(Preco_Total) FROM vendas_produtos Order by id_vendas DESC Limit) where id_venda=(SELECT id_vendas FROM vendas_produtos Order by id_vendas DESC Limit 1)

esta-me a somar todos os dados

Compartilhar este post


Link para o post
Compartilhar em outros sites

obrigada pela ajuda

so selecionar o ultimo

SELECT produtos.idprod, produtos.Nome, produtos.descricao, vendas_produtos.Quantidade, vendas_produtos.Iva, vendas_produtos.Preco_sem_iva, vendas_produtos.Valor_iva, vendas_produtos.Valor_com_iva, vendas_produtos.Preco_Total, vendas_produtos.id_vendas, vendas_produtos.txdesc, vendas_produtos.valordesc
FROM produtos
INNER JOIN vendas_produtos ON produtos.idprod = vendas_produtos.id_produto
INNER JOIN vendas ON vendas.id_venda = vendas_produtos.id_vendas
WHERE vendas_produtos.id_vendas = vendas.id_venda

 

não estou a conseguir só seleccionar o ultimo

Compartilhar este post


Link para o post
Compartilhar em outros sites

a sua duvida é em selecionar apenas o ultimo registro do segundo select ? se for isso, tente o code abaixo:

 

SELECT TOP 1
produtos.idprod, produtos.Nome, produtos.descricao, vendas_produtos.Quantidade, vendas_produtos.Iva, 
vendas_produtos.Preco_sem_iva, vendas_produtos.Valor_iva, vendas_produtos.Valor_com_iva, vendas_produtos.Preco_Total, 
vendas_produtos.id_vendas, vendas_produtos.txdesc, vendas_produtos.valordesc
FROM produtos
INNER JOIN vendas_produtos ON produtos.idprod = vendas_produtos.id_produto
INNER JOIN vendas ON vendas.id_venda = vendas_produtos.id_vendas
WHERE vendas_produtos.id_vendas = vendas.id_venda
ORDER BY produtos.idprod DESC 

 

*PS: na clausula ORDER BY coloque o campo q você considera como critério de ordenação em ordem decrescente, dai ira lhe retornar 1 registro apenas, o ultimo da lista (TOP 1 com ORDER BY ... DESC

Compartilhar este post


Link para o post
Compartilhar em outros sites

com o top 1 o seu codigo não funciona

 

opa, tente assim:

 

SELECT
       produtos.idprod, produtos.Nome, produtos.descricao, vendas_produtos.Quantidade, vendas_produtos.Iva, 
vendas_produtos.Preco_sem_iva, vendas_produtos.Valor_iva, vendas_produtos.Valor_com_iva, vendas_produtos.Preco_Total, 
vendas_produtos.id_vendas, vendas_produtos.txdesc, vendas_produtos.valordesc
FROM produtos
INNER JOIN vendas_produtos ON produtos.idprod = vendas_produtos.id_produto
INNER JOIN vendas ON vendas.id_venda = vendas_produtos.id_vendas
WHERE vendas_produtos.id_vendas = vendas.id_venda
ORDER BY produtos.idprod DESC 
LIMIT 1

 

usar o LIMIT ao invés do TOP... é que eu montei a query em SyBase aqui no trabalho não tenho MySQL..

 

 

eae funcionou?

 

@CharlesMendes

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT produtos.idprod, produtos.Nome, produtos.descricao,vendas_produtos.Quantidade, vendas_produtos.Iva, vendas_produtos.Preco_sem_iva, vendas_produtos.Valor_iva, vendas_produtos.Valor_com_iva, vendas_produtos.Preco_Total,vendas_produtos.id_vendas, vendas_produtos.txdesc, vendas_produtos.valordesc FROM produtos INNER JOIN vendas_produtos ON produtos.idprod =vendas_produtos.id_produto INNER JOIN vendas ON vendas.id_venda =vendas_produtos.id_vendas WHERE vendas_produtos.id_vendas =(SELECT id_venda FROM vendas Order By id_venda DESC LIMIT 1)

funcionou mas assim poderei buscar todos o dados que tem o mesmo id que a vendas

obrigada

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.