Fórum SQL - Group By #59073
08/11/2007
0
Bom dia!
Em um banco Firebird 1.5 eu tenho a seguinte tabela com os respectivos
campos:
TB_TESTE ID_TB_TESTE INTEGER PK ID_OPERACAO INTEGER ID_USUARIO INTEGER STATUS CHAR(1)
Com este SQL:
select ID_USUARIO, count(*) from TB_TESTE where ID_OPERACAO = 1 group by 1
Eu consigo a quantidade de lançamento para cada usuário:
ID_USUARIO COUNT 1 18 2 19
O que eu estou precisando na verdade é retornar isso mais a quantidade de registros separados pelo campo STATUS que pode ter dois valores:
P – PENDENTE
R – RESOLVIDO
Então ficaria algo assim:
ID_USUARIO COUNT PENDENTE RESOLVIDO 1 18 10 8 2 19 12 7
É possível fazer isto que estou precisando?
Desde já agradeço pela atenção.
Abraço a todos!
Mmoreira
Curtir tópico
+ 0Posts
08/11/2007
Jáder Medeiros
Select a.ID_Usuario, b.Pendente+c.Resolvido Count, b.Pendente, c.Resolvido From TB_TESTE a Left Join (Select ID_Usuario, Count(1) Pendente From TB_TESTE Where Status = ´P´ Group By ID_Usuario) b On a.ID_Usuario = b.ID_Usuario Left Join (Select ID_Usuario, Count(1) Resolvido From TB_TESTE Where Status = ´R´ Group By ID_Usuario) c On a.ID_Usuario = c.ID_Usuario Where a.ID_Operacao = 1 Group By a.ID_Usuario, b.Pendente+c.Resolvido, b.Pendente, c.Resolvido
Gostei + 0
08/11/2007
Mmoreira
Este sql nao esta funcionando pois estao aparecendo alguns erros.
Depois da uma conferida ai no codigo.
Valew
Gostei + 0
08/11/2007
Jáder Medeiros
Gostei + 0
08/11/2007
Mmoreira
A primeira coisa que nao esta passando é este Count que vc colocou logo depois de:
, b.Pendente+c.Resolvido Count
Retirando este Count ele ja da erro no primeiro subselect
Da uma olhada ai ... nao sei se pode ser isso mas a versao do Firebird que estou rodando é a 1.5
Gostei + 0
08/11/2007
Jáder Medeiros
Quando ao SubSelect, não sei se esta versão de FireBird suporta. A versão que estou usando é [b:fe84ec1c33]2.0.1.12855[/b:fe84ec1c33].
Quando eu chegar em casa (19h), instalo esta versão que você possui e vou testar.
Gostei + 0
08/11/2007
Mmoreira
Ao que parece a versao que estou usando nao suporta este subselect que voce usou ... vou ver se instalo esta versao para teste.
Obrigado pela atenção!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)