Jump to content

Ajuda Query SQL


mitrax
 Share

Recommended Posts

Boas noites pessoal!!!!!

Tenho uma BD com as seguintes tabelas:

Cod_postal (cod_postal (PK), localidade)

Clientes (clientes_id (PK),morada_cliente, cod_postal, nr_contr, nome)

Tarifario (tarifario_id(PK), s_contratada, u_alimentação, valor_monetario, tipo)

Fornecedores (fornecedor_id(PK), designação)

Consumo (data(PK), consumo, contrato_id(PK))

Contrato(contrato_id(PK), local_id, morada_contrato, cod_postal, tarifario_id, clientes_id, fornecedor_id, id_contrato_fornecedor)

Será que alguem me pode ajudar a fazer uma query que inserindo um numero de cliente (cliente_id) me forneça a media dos consumos (consumo) entre duas datas.

Espero me ter feito perceber....

Gracias

Link to comment
Share on other sites

Tens que ligar as tabelas consumos e contractos. Seleccionar da tabelas consumos a soma dos consumos e dividir pelo count dos consumos entre as datas que queres.

"There are two kinds of programmers. Those who write something to get the work done and those who want to write good code."João BrandãoWebsite e blog: http://jamab.blogspot.com/

Link to comment
Share on other sites

Primeiro podes fazer a selecção da tabela Contrato para o cliente , tirando assim o id_contrato desse cliente.

Depois tens de juntar o resultado da selecção anteriormente indicada com a tabela Consumo, como INNER JOIN por exemplo.

da junção acima referida tens já podes calcular o valor médio, função AVG, dos consumos cuja data esteja compreendia entre a data1 e a data2.

Acho que é isto que precisas 😄

Daniel Amorim

VP for xRTML

http://www.xrtml.org http://www.realtime.co

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.