Select na parte do from como se fosse tabela

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
carlos12
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 123
Registrado em: Qua, 24 Out 2007 4:31 pm
Localização: rio

Pessoal eu tenho dois select que gostaria de agrupa-lo em um só exemplo

tenho um que retorna linhas e outro que mostra qtd de incidencia para cada linha. como faço isso?

Selecionar tudo

select * 
from pessoas
where 
tipo = "brancas"

Selecionar tudo

select count(*) qtd
from pessoas p
where p.tipo = "brancas"
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Carlos, isso seria para colocar um totalizador no final?
Caso seja isso, no teu loop, podes incrementar uma variável:

Selecionar tudo

  ...
  for x in (select * from tabela where cor='Branca')
  loop
    vcontador := vcontador + 1;
    -- faça os procedimentos aqui...
  end loop;
  ...
  dbms_output.put_line('Total da cor:'||vcontador);
Se não for isso, manda pra gente.
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Se você só quer saber a quantidade, pode colocar na sua query a PSEUDO COLUNA chamada ROWNUM.
Ela numera cada linha.
Então, a última linha retornada conterá o número de linhas que veio no seu select. (LEMBRE-SE, que se você colocar um ORDER BY, esse numero não virá na ordem correta, ou seja, a ultima linha não será o total de linhas)
rodfbar
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 241
Registrado em: Ter, 09 Out 2007 11:15 am
Localização: Batatais - SP

colocar com grup by não daria certo??

Selecionar tudo

select tipo,count(*)
from pessoas 
group by tipo
51011934
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 6
Registrado em: Qui, 12 Mar 2009 4:53 pm
Localização: PORTO ALEGRE
Diego Bernardes

Se a intenção é unir os dois não seria só fazer isso?

Selecionar tudo

select 'x', 'y', 'z', count('x') qtd 

from pessoas p 

where p.tipo = "brancas" 

Group by 'x','y','z' 
x y z são os campos que você quer agrupar e demonstrar na consulta[/code]
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Assim o count vai ser por X, Y e Z.
Não vai ser o TOTAL "geral", saca ?
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante