Query com vários counts e linhas para cada documento

02/05/2013

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?

Respostas

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
Responder Citar

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
Responder Citar