Re: [pgbr-geral] Select retornando coluna com total de registros

2014-11-29 Por tôpico Marcos Thomaz
Não dá pra jogar a consulta no with e utilizá-lo? Tipo:

with tabtemp (
 
)
select coluna1, coluna2, coluna3, (select count(*) from tabtemp b where
b.coluna1=tabtemp=coluna1) as total
from tabtemp



Em 29 de novembro de 2014 06:07, Danilo Silva 
escreveu:

> Em 28 de novembro de 2014 23:02, Osvaldo Kussama <
> osvaldo.kuss...@gmail.com> escreveu:
>
> Em 28/11/14, Danilo Silva escreveu:
>> > Pessoal,
>> >
>> > Tenho um select que traz as colunas cliente e código da entrega, os
>> > registros são ordenados por cliente, é possível nesse mesmo select
>> trazer o
>> > total de registros referentes ao cliente? Algo como:
>> >
>> > CLIENTE A | 1
>> > CLIENTE A | 2
>> > CLIENTE A | 3
>> > CLIENTE B | 4
>> > CLIENTE C | 6
>> > CLIENTE C | 7
>> >
>> > Queria que em uma terceira coluna retornasse a quantidade de registros,
>> que
>> > no caso do CLIENTE A seria 3, CLIENTE B 1 e CLIENTE C 2, ficando algo
>> como:
>> >
>> >
>> > CLIENTE A | 1 | 3
>> > CLIENTE A | 2 | 3
>> > CLIENTE A | 3 | 3
>> > CLIENTE B | 4 | 1
>> > CLIENTE C | 6 | 2
>> > CLIENTE C | 7 | 2
>> >
>> > Se eu utilizar um COUNT, serei obrigado a efetuar um GROUP BY, mas não
>> > serviria para o meu caso.
>> >
>>
>>
>> Ou use um subselect com o count(*) daquele cliente ou
>> SELECT c1.cliente, c1.cod_entrega, c2.total FROM tab_cliente c1 INNER
>> JOIN (SELECT cliente, count(*) AS total FROM tab_cliente GROUP BY
>> cliente) c2 ON (c1.cliente = c2.cliente);
>>
>> ​Não ajuda no meu caso, pois tem o where (vem dos filtros de uma tela de
> consulta), logo, eu não tenho os wheres fixos para colocar na subconsulta.
>
> []s
> Danilo​
>
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 


Marcos Thomaz da Silva
Analista de Tecnologia da Informação
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Select retornando coluna com total de registros

2014-11-29 Por tôpico Danilo Silva
Em 28 de novembro de 2014 23:02, Osvaldo Kussama 
escreveu:

> Em 28/11/14, Danilo Silva escreveu:
> > Pessoal,
> >
> > Tenho um select que traz as colunas cliente e código da entrega, os
> > registros são ordenados por cliente, é possível nesse mesmo select
> trazer o
> > total de registros referentes ao cliente? Algo como:
> >
> > CLIENTE A | 1
> > CLIENTE A | 2
> > CLIENTE A | 3
> > CLIENTE B | 4
> > CLIENTE C | 6
> > CLIENTE C | 7
> >
> > Queria que em uma terceira coluna retornasse a quantidade de registros,
> que
> > no caso do CLIENTE A seria 3, CLIENTE B 1 e CLIENTE C 2, ficando algo
> como:
> >
> >
> > CLIENTE A | 1 | 3
> > CLIENTE A | 2 | 3
> > CLIENTE A | 3 | 3
> > CLIENTE B | 4 | 1
> > CLIENTE C | 6 | 2
> > CLIENTE C | 7 | 2
> >
> > Se eu utilizar um COUNT, serei obrigado a efetuar um GROUP BY, mas não
> > serviria para o meu caso.
> >
>
>
> Ou use um subselect com o count(*) daquele cliente ou
> SELECT c1.cliente, c1.cod_entrega, c2.total FROM tab_cliente c1 INNER
> JOIN (SELECT cliente, count(*) AS total FROM tab_cliente GROUP BY
> cliente) c2 ON (c1.cliente = c2.cliente);
>
> ​Não ajuda no meu caso, pois tem o where (vem dos filtros de uma tela de
consulta), logo, eu não tenho os wheres fixos para colocar na subconsulta.

[]s
Danilo​
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Select retornando coluna com total de registros

2014-11-28 Por tôpico Osvaldo Kussama
Em 28/11/14, Danilo Silva escreveu:
> Pessoal,
>
> Tenho um select que traz as colunas cliente e código da entrega, os
> registros são ordenados por cliente, é possível nesse mesmo select trazer o
> total de registros referentes ao cliente? Algo como:
>
> CLIENTE A | 1
> CLIENTE A | 2
> CLIENTE A | 3
> CLIENTE B | 4
> CLIENTE C | 6
> CLIENTE C | 7
>
> Queria que em uma terceira coluna retornasse a quantidade de registros, que
> no caso do CLIENTE A seria 3, CLIENTE B 1 e CLIENTE C 2, ficando algo como:
>
>
> CLIENTE A | 1 | 3
> CLIENTE A | 2 | 3
> CLIENTE A | 3 | 3
> CLIENTE B | 4 | 1
> CLIENTE C | 6 | 2
> CLIENTE C | 7 | 2
>
> Se eu utilizar um COUNT, serei obrigado a efetuar um GROUP BY, mas não
> serviria para o meu caso.
>


Ou use um subselect com o count(*) daquele cliente ou
SELECT c1.cliente, c1.cod_entrega, c2.total FROM tab_cliente c1 INNER
JOIN (SELECT cliente, count(*) AS total FROM tab_cliente GROUP BY
cliente) c2 ON (c1.cliente = c2.cliente);

Osvaldo
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral