Array
(
)

Query com vários counts e linhas para cada documento

Pjava
   - 02 mai 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?

Pjava
   - 02 mai 2013

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

Alex Lekao
   - 04 mai 2013

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