Fórum select dentro de outro select #432345

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

Gostei + 0

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

Gostei + 0

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

Gostei + 0

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

Gostei + 0

16/01/2013

Luiz Junior

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

Gostei + 0

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

Gostei + 0

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

Aceitar