Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola pessoal tudo bele? :joia:
Seguinte, estou montando uma tabelinha que para cada lacuna terei que fazer um select diferente. Ex:
Atividades | prevista | realizada
atividade1 | 2 | 8
atividade2 | 4 | 6
atividade3 | 10 | 0
Só que para cada contagem desta eu tenho várias condições.
Ex:
para a atividade 1 tem que contar os realizados dentro do prazo;
para a atividade 2 tem que contar os realizados dentro do prazo mas somente em um determinado horário.
para a atividade 3 tem que contar somente os que foram feito em determinado horário.
Até o momento para cada contagem eu fiz um SELECT, pois cada uma tem uma particularidade. Só que achei muito bagunçado. alguém tem algum opnião de como eu posso fazer?
Não sei se fui claro, caso alguém não entendeu poste ai :D
Entendo, esta um pouco complicado mesmo :P
Vamos la, deem uma olhada nesta tabela:
/applications/core/interface/imageproxy/imageproxy.php?img=http://www.instinfo.com.br/images/Picture%252017.png&key=0e650022062ffc2e6bed324aa80cf9b159780cbd0acc92001f25b9366f513a2d" alt="Picture%2017.png" />
Cada "lacuna" é um select, esta satisfazendo, esta trazendo o resultado que eu preciso, mas olhando o código, esta um pleno "pog".
Deem uma olhada no select que fiz no ultimo post deste tópico: [Tabela dinâmica](http://forum.imasters.com.br/topic/429850-tabela-dinamica/page__view__findpost__p__1696595__fromsearch__1)
A idéia que quero chegar é mais ou menos esta, só que neste exemplo que dei, as condições para o WHERE servem para o select inteiro, determina o resultado da tabela inteira. Nesta nova tabela que estou tentanto fazer cada resultado em cada lacuna, tenho que determinar uma condição. Vou colocar abaixo alguns exemplos:
Previsto da atividade 1:
SELECT COUNT(*) AS previnumt
FROM activities AS act
INNER JOIN days AS days_ ON days_.id = act.day_id
WHERE forecast_date = '2011-08-01' AND status_day_id <> 3 AND company_activities_id = 1
Realizado da atividade 6:
SELECT IF(status_activities_id = 6,COUNT(),0) + IF(status_activities_id = 7,COUNT(),0) + IF(status_activities_id = 8,COUNT(*),0) AS sumcount
FROM activities AS act
INNER JOIN days AS days_ ON days_.id = act.day_id INNER JOIN tbl_equipamentos AS equ on equ.equ_id = act.equipment_id
WHERE forecast_date = '2011-08-01' AND status_day_id <> 3 AND company_activities_id = 1
OBS: desculpem se o post parecer somente de SQL, só postei aqui poque algo com PHP pode ajudar.
não entendi nada.....Explique melhor