select dentro de outro select

11/01/2013

9

Tem como eu fazer algo do tipo

select codigo, nome, (selec sum(total) from compra), ano from cliente

Eu gostaria de somar o total de compra de um cliente no ano que esta em uma tabela compras e mostrar junto com os dados do cliente que está na tabela cliente.

É possível?
Responder

Posts

11/01/2013

Junior Miranda

Qual o seu SGBD?

SGBD´s como Firebird, Postgresql... Permitem o uso de subselect.

segue um exemplo:
select cliente.codigo, 
       cliente.nome, 
       (select coalesce(sum(total),0) from compra where compra.cliente = cliente.codigo and [...]) total_compras, 
       ano from cliente


[]´s
Responder
Tem como eu fazer algo do tipo

select codigo, nome, (selec sum(total) from compra), ano from cliente

Eu gostaria de somar o total de compra de um cliente no ano que esta em uma tabela compras e mostrar junto com os dados do cliente que está na tabela cliente.

É possível?


Luiz uma outra alternativa seria você fazer o uso de um MasterDatail, assim a cada alteração de registro do cliente (Master) o somatorio seria exibido (detalhe).

Analise o desempenho das soluções encontradas. e Escolha.
Responder

14/01/2013

Rodolpho Silva

Luiz,

Quase todos os SGBD de hoje em dia suportam isso (subselect):

Select
tabela1.Campo1
tabela2.Campo2
from
tabela1
(select campoX as Campo2 from tabelaX) Tabela2
Responder

14/01/2013

Alisson Santos

Amigo isso chama subselect e é utilizado para trazer alguma informação para uma outra select que pode ser de comparação ou utilização de outros campos.
Como seria essa sua select que precisa fazer para podermos auxiliar?
Responder

16/01/2013

Luiz Junior

Putz pior que é uma base em Access, será que é possível fazer subselect?
Responder

16/01/2013

Luiz Junior

Aí galera consegui fazer o que queria utilizando o group by!

Obrigado pela ajuda!

ficou mais ou menos assim:

select distinct(c.codjogador),nome, count(c.codjogador) as Títulos from (campeoes c
left join jogadores j on c.codjogador = j.codigo)
group by c.codjogador, nome
Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira