Problema para montar Select
12/12/2015
0
Estou com um problema para gerar uma consulta, preciso fazer uma consulta que mostrar a data e hora que a pessoa entrou e a data e hora que a pessoa saiu em uma mesma linha para fazer o calculo de quanto tempo a pessoa ficou dentro do setor.
essa é a tabela
esse é o select que consegui até agora
Registros
Desde já agradeço.
essa é a tabela
CREATE TABLE ACESSO ( COD_ACESSO INTEGER NOT NULL, COD_DISPOSITIVO INTEGER NOT NULL, NUM_SETOR_ACESSO INTEGER NOT NULL, DAT_ACESSO TIMESTAMP NOT NULL, COD_USER INTEGER NOT NULL, COD_ID_CRACHA INTEGER NOT NULL, IND_TIPO_ACESSO VARCHAR(1) NOT NULL, IND_TIPO_USER VARCHAR(1) NOT NULL );
esse é o select que consegui até agora
SELECT DISTINCT ENTRADA, CASE WHEN ind_tipo_acesso = 'S' THEN DAT_ACESSO ELSE NULL END AS SAIDA, ACE1.NUM_SETOR_ACESSO, ACE1.COD_USER, ACE1.IND_TIPO_USER FROM ACESSO ACE1, (SELECT CASE WHEN ind_tipo_acesso = 'E' THEN DAT_ACESSO ELSE NULL END AS ENTRADA, COD_ACESSO, NUM_SETOR_ACESSO, COD_USER, IND_TIPO_USER FROM ACESSO ACE2 WHERE ACE2.ind_tipo_acesso = 'E' or (ACE2.ind_tipo_acesso = 'S') ) AS AUX1 WHERE ACE1.cod_acesso <> AUX1.COD_ACESSO AND ACE1.NUM_SETOR_ACESSO = AUX1.NUM_SETOR_ACESSO AND ACE1.COD_USER = AUX1.COD_USER AND ACE1.IND_TIPO_USER = AUX1.IND_TIPO_USER AND (ENTRADA IS NOT NULL AND ACE1.dat_acesso IS NOT NULL)
Registros
INSERT INTO ACESSO (COD_ACESSO, COD_DISPOSITIVO, NUM_SETOR_ACESSO, DAT_ACESSO, COD_USER, COD_ID_CRACHA, IND_TIPO_ACESSO, IND_TIPO_USER) VALUES (1, 1, 1, '12-DEC-2015 00:00:00', 1, 1, 'E', 'V'); INSERT INTO ACESSO (COD_ACESSO, COD_DISPOSITIVO, NUM_SETOR_ACESSO, DAT_ACESSO, COD_USER, COD_ID_CRACHA, IND_TIPO_ACESSO, IND_TIPO_USER) VALUES (2, 1, 1, '12-DEC-2015 00:01:00', 1, 1, 'E', 'V'); INSERT INTO ACESSO (COD_ACESSO, COD_DISPOSITIVO, NUM_SETOR_ACESSO, DAT_ACESSO, COD_USER, COD_ID_CRACHA, IND_TIPO_ACESSO, IND_TIPO_USER) VALUES (3, 1, 1, '12-DEC-2015 00:02:00', 1, 1, 'S', 'V'); INSERT INTO ACESSO (COD_ACESSO, COD_DISPOSITIVO, NUM_SETOR_ACESSO, DAT_ACESSO, COD_USER, COD_ID_CRACHA, IND_TIPO_ACESSO, IND_TIPO_USER) VALUES (4, 1, 1, '12-DEC-2015 00:03:00', 1, 1, 'E', 'V'); INSERT INTO ACESSO (COD_ACESSO, COD_DISPOSITIVO, NUM_SETOR_ACESSO, DAT_ACESSO, COD_USER, COD_ID_CRACHA, IND_TIPO_ACESSO, IND_TIPO_USER) VALUES (5, 1, 1, '12-DEC-2015 00:04:00', 1, 1, 'S', 'V');
Desde já agradeço.
Tiago Soares
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)