Query com vários counts e linhas para cada documento
02/05/2013
0
Preciso fazer uma query assim. São duas tabelas. Triagem e Documento. Na triagem eu tenho os ID1s da tbl Documento e preciso trazer os nome. Na tabela documento, existe 9 documentos apenas, tipo:
ANS,SUSEP,CITAÇÂO,INTIMAÇÃO,PROCON,OFICIO,NOTIFICAÇÃO,NOTIFICAÇÃO EXTRA JUDICIAL E OUTROS.
Então, como eu faço para ter os counts desses caras e listar de forma que cada documento é uma linha, mas deve-se também contar para cada documento o total de tarefas que são tres(ENVIAR CADASTRO, ENVIARA ÁREA E ENVIAR ÁREA ANALISAR). Como eu faço isso?
ANS,SUSEP,CITAÇÂO,INTIMAÇÃO,PROCON,OFICIO,NOTIFICAÇÃO,NOTIFICAÇÃO EXTRA JUDICIAL E OUTROS.
Então, como eu faço para ter os counts desses caras e listar de forma que cada documento é uma linha, mas deve-se também contar para cada documento o total de tarefas que são tres(ENVIAR CADASTRO, ENVIARA ÁREA E ENVIAR ÁREA ANALISAR). Como eu faço isso?
Pjava
Curtir tópico
+ 0
Responder
Posts
02/05/2013
Pjava
Se eu fizer conforme abaixo, não resolve o problema, porque terei muitas linhas, dependendo das tarefas, se eu tiver uma tarefa para documento, terei aí um produto cartesiano praticamente. É um totalizador de tarefas por documento. Serão tres colunas a mais, uma para cada Tarefa e 9 linhas
select td.nm_tipo_documento,count(tg.id_tipo_documento) as tt,
tg.tarefa,
COUNT(tg.tarefa) as tarefa
from tbl_Triagem tg inner join tbl_Tipo_Documento td
on tg.id_tipo_documento = td.id_tipo_documento
group by td.nm_tipo_documento,tg.tarefa
select td.nm_tipo_documento,count(tg.id_tipo_documento) as tt,
tg.tarefa,
COUNT(tg.tarefa) as tarefa
from tbl_Triagem tg inner join tbl_Tipo_Documento td
on tg.id_tipo_documento = td.id_tipo_documento
group by td.nm_tipo_documento,tg.tarefa
Responder
04/05/2013
Alex Lekao
Oi PJava, boa tarde!!!
Deixa eu ver se entendi.
Vc vai listar somente os conteudos que tenham nas duas tabelas, certo? ou tera algum conteudo das tabelas que ira apresentar tudo?
No caso do count depedendo de como vc estiver querendo que apresente vc pode usar uma sub-select usando na clausula where uma condicional que iguale os campos em comum das duas tabelas, aquelas que nao tiver ira colocar zero por exemplo.
Se vc tiver uma das tabelas que seria a principal, teria que apresentar todos os itens, eu sugeriria usar o left join no lugar do inner e a subselect.
Ve se consegue alguma coisa e posta ai, e a gente vai vendo juntos se da tudo certo.
Abraco.
Alex - Lekao
Deixa eu ver se entendi.
Vc vai listar somente os conteudos que tenham nas duas tabelas, certo? ou tera algum conteudo das tabelas que ira apresentar tudo?
No caso do count depedendo de como vc estiver querendo que apresente vc pode usar uma sub-select usando na clausula where uma condicional que iguale os campos em comum das duas tabelas, aquelas que nao tiver ira colocar zero por exemplo.
Se vc tiver uma das tabelas que seria a principal, teria que apresentar todos os itens, eu sugeriria usar o left join no lugar do inner e a subselect.
Ve se consegue alguma coisa e posta ai, e a gente vai vendo juntos se da tudo certo.
Abraco.
Alex - Lekao
Responder
Clique aqui para fazer login e interagir na Comunidade :)