Jump to content

juntar duas querys


charlie69
 Share

Recommended Posts

Bons dias

sou novo nisto de programar em sql.

Quero algo do genero, vai buscar o ID da primeira operação de um cliente, na tabela Clientes:

SELECT TOP 1 ([Clientes].ID) AS IDCliente
FROM [Clientes]
WHERE ((([Cliente].NCliente)="12144"))
ORDER BY [Cliente].ID;

Com esse IDCliente, vai buscar o somatório de todos os custos referentes a esse IDCliente montante à tabela Custos

como fazer isso?

Cumps

Modificação:

já descobri uma possível solução:

SELECT Sum([Custos].Valor) AS Expr1
FROM [Custos]
WHERE ((([Custos].Operação_ID)=(SELECT TOP 1 ([Clientes].ID)
FROM [Clientes]
WHERE ((([Clientes].NCliente)="12144"))
ORDER BY [Clientes].ID)));

o problema é que está a duplicar-me os valores? do tipo, soma, e de seguida todas as linhas dos valores. é mesmo assim? ou tenho algo mal que me está a duplicar?

Link to comment
Share on other sites

Bom, podes usar multiplas tabelas no FROM e fazer no WHERE uma condição para relacionar as tabelas..

SELECT Custos.*
FROM Custos, Clientes
WHERE Clientes.NCliente="12144" AND Custos.IDCliente = Clientes.ID;

EDIT: Não  vi  a parte do somatório  :wallbash:

Deves fazer um agrupamento

SELECT Custos.IDCliente, SUM(Custos.Valor)
FROM Custos, Clientes
WHERE Clientes.NCliente="12144" AND Custos.IDCliente = Clientes.ID
GROUP BY Custos.IDCliente;
Tharis Fan ClubMay Tharis bless you
Link to comment
Share on other sites

Bom, podes usar multiplas tabelas no FROM e fazer no WHERE uma condição para relacionar as tabelas..

SELECT Custos.*
FROM Custos, Clientes
WHERE Clientes.NCliente="12144" AND Custos.IDCliente = Clientes.ID;

EDIT: Não  vi  a parte do somatório  :wallbash:

Deves fazer um agrupamento

SELECT Custos.IDCliente, SUM(Custos.Valor)
FROM Custos, Clientes
WHERE Clientes.NCliente="12144" AND Custos.IDCliente = Clientes.ID
GROUP BY Custos.IDCliente;

e se quiser apenas os valores dos custos sem soma?

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.