Ir para conteúdo

POWERED BY:

Arquivado

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

aureo2006

Contruir SQL usando como referencia dado de outra tabela

Recommended Posts

Eu tenho duas tabelas. Uma chamada Consumo1 e outra chamada Controle1. A tabela chamada consumo1 armazena dados de consumo de alguem cadastrado na tabela controle1. Existe um campo na tabela consumo1 chamado id_control, que armazena o numero do cliente cadastrado no campo id_controle da tabela controle1. Pois bem, em determinado momento, após registrar o consumo do cliente cadastrado, encerra-se a conta de consumo deste cliente. Como o sistema está projetado para que não permitir o cadastro e consumo de outro cliente antes que seja encerrada a conta do ultimo cliente, estou tentando contruir um código SQL que me permita pegar o valor de todos os itens consumumidos pelo ultimo cliente cadastrado na tabela cntrole1 e somar. Pois bem, estava tentando construir a SQL da seguinte forma, levando em consideração de que é necessário pegar o identificados do ultimo clinete da tabela controle1, por diversas razões operacionais:

Select Sum(total_produto) as total_produto, id_control from consumoWhere id_control=Max(id_controle) from controle1
Só que este codigo não tem dado certo. O contrutor de SQL do Visual Basic rejeita e diz que a sintaxe é invalida e o resultado não me retorna o valor desejado num comando de texto de um objeto environment. alguem podera me ajudar contruir essa SQL? Tentei esta outra sintaxe mas também não tem dado certo...

Select Sum(total_produto) as total_produto, id_control from consumoWhere id_control=select Max(id_controle) from controle1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para fazer isso funcionar você tem que coloca uma sub consulta assim:

Select Sum(total_produto) as total_produto, id_control from consumo Where id_control= (select Max(id_controle) from controle1)

Pode dar erro por causa desse campo ID_CONTROL caso ocorra faz assim:

Select Sum(total_produto) as total_produto, id_control from consumo Where id_control= (select Max(id_controle) from controle1) group by id_control

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.