Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, olá.
Tenho uma consulta que retorna os seguintes dados:
GarUni Situacao
---------- ---------------
Unidade 1
Unidade 1
...
Unidade 1 G
Unidade 1 G
...
Unidade 1 saiu da Garagem
Unidade 1 saiu da Garagem
...
Unidade 1 saiu do TP
Unidade 1 saiu do TP
...
Unidade 1 saiu do TS
Unidade 1 saiu do TS
...
Unidade 1 TP
Unidade 1 TP
...
Unidade 1 TS
Unidade 1 TS
...
Unidade 2
Unidade 2
...
Unidade 2 G
Unidade 2 G
...
Unidade 2 saiu da Garagem
Unidade 2 saiu da Garagem
...
Unidade 2 saiu do TP
Unidade 2 saiu do TP
...
Unidade 2 saiu do TS
Unidade 2 saiu do TS
...
Unidade 2 TP
Unidade 2 TP
...
Unidade 2 TS
Unidade 2 TS
...
(1281 row(s) affected)
Agora preciso montar um relatório assim:
/applications/core/interface/imageproxy/imageproxy.php?img=http://i259.photobucket.com/albums/hh304/bandafator13/resumoOperacao.gif&key=184b22f590cef1783989ab4aaf6929c7beced13a4a4e95f7cb4287685160c032" alt="Imagem Postada" />
Existe uma forma de criar uma query dinâmica que faça os cálculos e armazene em colunas "de mentirinha"?
Que retorne algo assim:
GarUni Na garagem No TP No TS Outros
----------- --------------- --------- --------- ----------
Unidade 1 50 120 120 10
Unidade 2 80 100 150 40
Valew, e desculpe o post gigante! rs...
Abrax!!
Maravilha cara! Bons demais esses links aí. Dei uma lida por cima e é isso mesmo!
Vou analisar aqui com mais calma, resolver meu problema e aí apresento pra vocês.
Valew pela força!
Abrax!
grato pelo feedback...
Aí cara... consegui resolver! De acordo com o que entendi da matéria o correto é agrupar, e ainda dá pra usar CASE! Maravilha! ehehe..
Resolvi assim:
SELECT
GarUni,
Count(situacao) AS TOTAL,
Count(( CASE Situacao WHEN '' THEN Situacao END )) AS 'COM PROBLEMAS',
Count(( CASE Situacao WHEN 'G' THEN Situacao END )) AS 'NA GARAGEM',
Count(( CASE Situacao WHEN 'saiu da Garagem' THEN Situacao END )) AS 'EM POSICIONAMENTO',
Count(( CASE Situacao WHEN 'TP' THEN Situacao END )) AS 'NO TP',
Count(( CASE Situacao WHEN 'saiu do TP' THEN Situacao END )) AS 'SAIU DO TP',
Count(( CASE Situacao WHEN 'TS' THEN Situacao END )) AS 'NO TS',
Count(( CASE Situacao WHEN 'saiu do TS' THEN Situacao END )) AS 'SAIU DO TS'
FROM
vAVL
WHERE
cd_area = 1 AND
cd_empresa = 38 AND
GarUni Is Not Null
GROUP BY
GarUni
ORDER BY
GarUni ASC
Valew a força cara!
Abraços!
pelo que eu entendi você esta querendo pivotar seu dados:
segue a baixo links bastante instrutivos, qualquer duvida poste novamente:
parte 1: http://www.devmedia.com.br/articles/viewco...t.asp?comp=9724
parte 2: http://www.devmedia.com.br/articles/viewco...t.asp?comp=9725
ambos por Mauro Pichiliani.
ate a proxima