Hi guys,
I need to create a new column and display the time difference between second and first row, third and second, fourth and third, and so on. This value will tell me the duration of the event.
The results will be shown in the front end as show below:
Informix SQL:
SELECT agentstatedetail.agentid,agentstatedetail.eventdatetime,agentstatedetail.eventtype,agentstatedetail.reasoncode,resource.resourcename,resource.resourceloginid,resource.extension,reasoncodelabelmap.code,reasoncodelabelmap.label,reasoncodelabelmap.category,
CASE
WHEN eventtype = 1 AND code is NULL AND label is NULL THEN 'Logado'
-- Variation of reason codec with eventtype 2 - INICIO
WHEN eventtype = 2 AND code is NULL AND label is NULL THEN 'Nao Disponivel'
WHEN eventtype = 2 AND code = 2 AND label = 'Fim de Expediente' THEN 'Fim de Expediente'
WHEN eventtype = 2 AND code = 3 AND label = 'Descanso' THEN 'Descanso'
WHEN eventtype = 2 AND code = 4 AND label = 'Feedback' THEN 'Feedback'
WHEN eventtype = 2 AND code = 5 AND label = 'Treinamento' THEN 'Treinamento'
WHEN eventtype = 2 AND code = 6 AND label = 'Reuniao' THEN 'Reuniao'
WHEN eventtype = 2 AND code = 7 AND label = 'Refeicao' THEN 'Refeicao'
WHEN eventtype = 2 AND code = 8 AND label = 'Toalet' THEN 'Toalet'
WHEN eventtype = 2 AND code = 9 AND label = 'Backoffice' THEN 'BackOffice'
WHEN eventtype = 2 AND code = 10 AND label = 'Pos-Atendimento' THEN 'Pos-Atendimento'
WHEN eventtype = 2 AND code = 33 AND label = 'Supervisor Iniciado' THEN 'Status modificado supervisor'
WHEN eventtype = 2 AND code = 32742 AND label ='Nao DAC fora do gancho' THEN 'Nao DAC fora do gancho'
WHEN eventtype = 2 AND code = 32749 AND label ='Chamada Cancelada' THEN 'Chamada Cancelada'
WHEN eventtype = 2 AND code = 32750 AND label ='Ramal Modificado' THEN 'Ramal Modificado'
WHEN eventtype = 2 AND code = 32753 AND label ='Linha restrita' THEN 'Linha restrita'
WHEN eventtype = 2 AND code = 32754 AND label ='Dispositivo restrito' THEN 'Dispositivo restrito'
WHEN eventtype = 2 AND code = 32755 AND label ='Call Ended' THEN 'Chamada Finalizada'
WHEN eventtype = 2 AND code = 32756 AND label ='Telefone Funcionando' THEN 'Telefone Funcionando'
WHEN eventtype = 2 AND code = 32757 AND label ='CUCM Failover' THEN 'CUCM Failover'
WHEN eventtype = 2 AND code = 32758 AND label ='Wrap Up Timer Expiry' THEN 'Wrap Up Timer Expiry'
WHEN eventtype = 2 AND code = 32759 AND label ='Falha no telefone' THEN 'Telefone nao Funcinando'
WHEN eventtype = 2 AND code = 32760 AND label ='Agent Logon' THEN 'Agent Logon'
WHEN eventtype = 2 AND code = 32761 AND label ='Não DAC ocupado' THEN 'Nao DAC ocupado'
WHEN eventtype = 2 AND code = 32762 AND label ='Fora do gancho' THEN 'Fora do gancho'
WHEN eventtype = 2 AND code = 32763 AND label ='Chamada não respondida' THEN 'Chamada não respondida'
-- Variation of reason codec with eventtype 2 - FIM
-- Variation of reason codec with eventtype 3 - INICO
WHEN eventtype = 3 AND code is NULL AND label is NULL THEN 'Disponivel'
WHEN eventtype = 3 AND code = 33 AND label = 'Supervisor Iniciado' THEN 'Status modificado supervisor'
-- Variation of reason codec with eventtype 3 - FIM
WHEN eventtype = 4 AND code is NULL AND label is NULL THEN 'Reservado'
WHEN eventtype = 5 AND code is NULL AND label is NULL THEN 'Falando'
WHEN eventtype = 6 AND code is NULL AND label is NULL THEN 'Trabalho'
-- Variation of reason codec with eventtype 7 - INICIO
WHEN eventtype = 7 AND code = 1 AND label ='Logout' THEN 'Deslogado'
WHEN eventtype = 7 AND code = 22 AND label ='Supervisor Iniciado' THEN 'Supervisor Iniciado'
WHEN eventtype = 7 AND code = 255 AND label ='Falha na conexão' THEN 'Falha na conexao'
WHEN eventtype = 7 AND code = 32740 AND label ='Sistema inicializado Relogin' THEN 'Sistema inicializado Relogin'
WHEN eventtype = 7 AND code = 32741 AND label ='Conflito de ramal' THEN 'Conflito de ramal'
WHEN eventtype = 7 AND code = 32748 AND label ='Agente deletado' THEN 'Agente deletado'
WHEN eventtype = 7 AND code = 32764 AND label ='Sistema em espera' THEN 'Sistema em standby'
WHEN eventtype = 7 AND code = 32765 AND label ='Desconectar Sistema' THEN 'Perda de Conexao'
WHEN eventtype = 7 AND code = 32766 AND label ='Agente iniciado' THEN 'Finesse Fechado'
WHEN eventtype = 7 AND code = 32767 AND label ='Conflito de Dispositivo' THEN 'Conflito de Dispositivo'
-- Variation of reason codec with eventtype 7 - FIM
ELSE label
END motivo,
CASE
WHEN eventtype = 1 AND Reasoncode = 0 AND code is NULL AND category is NULL THEN 'Logado'
WHEN eventtype = 2 AND reasoncode = 0 AND code is NULL AND category is NULL THEN 'Nao Disponivel'
WHEN eventtype = 2 AND reasoncode = 2 AND code = 2 AND category ='NOT_READY' THEN 'Nao Disponivel'
WHEN eventtype = 2 AND reasoncode = 3 AND code = 3 AND category ='NOT_READY' THEN 'Nao Disponivel'
WHEN eventtype = 2 AND reasoncode = 4 AND code = 4 AND category ='NOT_READY' THEN 'Nao Disponivel'
WHEN eventtype = 2 AND reasoncode = 5 AND code = 5 AND category ='NOT_READY' THEN 'Nao Disponivel'
WHEN eventtype = 2 AND reasoncode = 6 AND code = 6 AND category ='NOT_READY' THEN 'Nao Disponivel'
WHEN eventtype = 2 AND reasoncode = 7 AND code = 7 AND category ='NOT_READY' THEN 'Nao Disponivel'
WHEN eventtype = 2 AND reasoncode = 8 AND code = 8 AND category ='NOT_READY' THEN 'Nao Disponivel'
WHEN eventtype = 2 AND reasoncode = 9 AND code = 9 AND category ='NOT_READY' THEN 'Nao Disponivel'
WHEN eventtype = 2 AND reasoncode = 10 AND code = 10 AND category ='NOT_READY' THEN 'Nao Disponivel'
WHEN eventtype = 2 AND reasoncode = 32742 AND code = 32742 AND category ='NOT_READY' THEN 'Nao Disponivel'
WHEN eventtype = 2 AND reasoncode = 32749 AND code = 32749 AND category ='NOT_READY' THEN 'Nao Disponivel'
WHEN eventtype = 2 AND reasoncode = 32750 AND code = 32750 AND category ='NOT_READY' THEN 'Nao Disponivel'
WHEN eventtype = 2 AND reasoncode = 32753 AND code = 32753 AND category ='NOT_READY' THEN 'Nao Disponivel'
WHEN eventtype = 2 AND reasoncode = 32754 AND code = 32754 AND category ='NOT_READY' THEN 'Nao Disponivel'
WHEN eventtype = 2 AND reasoncode = 32755 AND code = 32755 AND category ='NOT_READY' THEN 'Nao Disponivel'
WHEN eventtype = 2 AND reasoncode = 32756 AND code = 32756 AND category ='NOT_READY' THEN 'Nao Disponivel'
WHEN eventtype = 2 AND reasoncode = 32757 AND code = 32757 AND category ='NOT_READY' THEN 'Nao Disponivel'
WHEN eventtype = 2 AND reasoncode = 32758 AND code = 32758 AND category ='NOT_READY' THEN 'Nao Disponivel'
WHEN eventtype = 2 AND reasoncode = 32759 AND code = 32759 AND category ='NOT_READY' THEN 'Nao Disponivel'
WHEN eventtype = 2 AND reasoncode = 32760 AND code = 32760 AND category ='NOT_READY' THEN 'Nao Disponivel'
WHEN eventtype = 2 AND reasoncode = 32761 AND code = 32761 AND category ='NOT_READY' THEN 'Nao Disponivel'
WHEN eventtype = 2 AND reasoncode = 32762 AND code = 32762 AND category ='NOT_READY' THEN 'Nao Disponivel'
WHEN eventtype = 2 AND reasoncode = 32763 AND code = 32763 AND category ='NOT_READY' THEN 'Nao Disponivel'
WHEN eventtype = 3 AND reasoncode = 0 AND code is NULL AND category is NULL THEN 'Disponivel'
WHEN eventtype = 3 AND reasoncode = 33 AND code = 33 AND category = 'NOT_READY' THEN 'Nao Disponivel'
WHEN eventtype = 3 AND reasoncode = 33 AND code = 33 AND category = 'READY' THEN 'Disponivel'
WHEN eventtype = 4 AND reasoncode = 0 AND code is NULL AND category is NULL THEN 'Reservado'
WHEN eventtype = 5 AND reasoncode = 0 AND code is NULL AND category is NULL THEN 'Falando'
WHEN eventtype = 6 AND reasoncode = 0 AND code is NULL AND category is NULL THEN 'Trabalho'
WHEN eventtype = 7 AND reasoncode = 1 AND code = 1 AND category = 'LOGOUT' THEN 'Deslogado'
WHEN eventtype = 7 AND reasoncode = 22 AND code = 22 AND category = 'LOGOUT' THEN 'Deslogado'
WHEN eventtype = 7 AND reasoncode = 255 AND code = 255 AND category = 'LOGOUT' THEN 'Deslogado'
WHEN eventtype = 7 AND reasoncode = 32740 AND code = 32740 AND category = 'LOGOUT' THEN 'Deslogado'
WHEN eventtype = 7 AND reasoncode = 32741 AND code = 32741 AND category = 'LOGOUT' THEN 'Deslogado'
WHEN eventtype = 7 AND reasoncode = 32748 AND code = 32748 AND category = 'LOGOUT' THEN 'Deslogado'
WHEN eventtype = 7 AND reasoncode = 32764 AND code = 32764 AND category = 'LOGOUT' THEN 'Deslogado'
WHEN eventtype = 7 AND reasoncode = 32765 AND code = 32765 AND category = 'LOGOUT' THEN 'Deslogado'
WHEN eventtype = 7 AND reasoncode = 32766 AND code = 32766 AND category = 'LOGOUT' THEN 'Deslogado'
WHEN eventtype = 7 AND reasoncode = 32767 AND code = 32767 AND category = 'LOGOUT' THEN 'Deslogado'
ELSE NULL
END estado
FROM agentstatedetail
LEFT JOIN resource ON agentstatedetail.agentid = resource.resourceid
LEFT JOIN reasoncodelabelmap ON agentstatedetail.reasoncode = reasoncodelabelmap.code
ORDER BY agentstatedetail.agentid;