mysql> SELECT Tecnico, SUM(Deslocamento) AS Deslocamento, SUM(Logado) Logado FROM (SELECT tecnico AS Tecnico, (CASE WHEN status like '%DESLOCAMENTO%' THEN 1 END) AS Deslocamento, (CASE WHEN status like '%logado%' THEN 1 END) AS Logado FROM status_tecnico) AS subQ GROUP BY Tecnico;
Pergunta
Tchello
Tenho a segunite tabela:
+------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+-------+
| un | varchar(100) | YES | | NULL | |
| data | date | YES | | NULL | |
| tecnico | varchar(150) | YES | | NULL | |
| status | varchar(100) | YES | | NULL | |
| hora | time | NO | | | |
| referencia | varchar(100) | YES | | NULL | |
| duracao | varchar(10) | YES | | NULL | |
+------------+--------------+------+-----+---------+-------+
Onde faço a seguinte consulta:
mysql> SELECT Tecnico, SUM(Deslocamento) AS Deslocamento, SUM(Logado) Logado FROM (SELECT tecnico AS Tecnico, (CASE WHEN status like '%DESLOCAMENTO%' THEN 1 END) AS Deslocamento, (CASE WHEN status like '%logado%' THEN 1 END) AS Logado FROM status_tecnico) AS subQ GROUP BY Tecnico;
e Retorna:
+-------------------------------------------+--------------+--------+
| Tecnico | Deslocamento | Logado |
+-------------------------------------------+--------------+--------+
| N0115439 ADRIANO PEQUENO ALVEZ | 3 | 2 |
| N0120159 ANDRE CUNHA DE OLIVEIRA | 4 | 1 |
| N0120654 JAILSON BRITO | 10 | 15 |
| N0120757 MAURILIO ROSA | 7 | 8 |
| N0120850 FABIO LUIZ BONIFACIO | 10 | 4 |
| N0120953 MARCUS VINICIUS SANCHES RIBEIRO | 13 | 6 |
| N0121050 VINICIUS HELDER OGIDIO SAKUMA | 8 | 6 |
| N0121153 JOAO PAULO MOREIRA ANTUNES | 3 | 2 |
| N0121256 RONATHAN CORREA | 6 | 8 |
| N0121359 MARCOS ROBERTO RIBEIRO | 9 | 8 |
| N0121452 EDUARDO HENRIQUE GUMIERI MARQUES | 11 | 6 |
| N0121555 GABRIEL HENRIQUE DELATTRE | 4 | 2 |
| N0121658 WALTER STARKOWSKI | 5 | 2 |
| N0121751 DIEGO ALONSO OTTO | 3 | 4 |
| N0121854 DIOGO GONCALVES VASSAO | 4 | 6 |
| N0121957 EDUARDO FERREIRA DE ALMEIDA | 8 | 4 |
+-------------------------------------------+--------------+--------+
Onde mostra a contagem das linhas da tabela, porem eu preciso que me retorne a soma da coluna 'duracao' (que são os minutos) por tipo de status.
Conforme exemplo:
Na tabela:
| Tecnico | Status | Duracao |
| N0115439 ADRIANO PEQUENO ALVEZ | Deslocamento | 10 |
| N0115439 ADRIANO PEQUENO ALVEZ | Deslocamento | 20 |
| N0115439 ADRIANO PEQUENO ALVEZ | Deslocamento | 10 |
| N0115439 ADRIANO PEQUENO ALVEZ | Logado | 35 |
| N0115439 ADRIANO PEQUENO ALVEZ | Logado | 50 |
| N0115439 ADRIANO PEQUENO ALVEZ | Logado | 15 |
Preciso que print:
| Tecnico | Deslocamento | Logado |
+-------------------------------------------+--------------+--------+
| N0115439 ADRIANO PEQUENO ALVEZ | 40 | 100 |
Alguém pode me dar uma luz?
Desde já agradeço a colaboração
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados