select dentro de outro select

11/01/2013

0

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 Junior

Luiz Junior

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

11/01/2013

Landerson Santos

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

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar