Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

leandroauler

Resultado em uma linha

Recommended Posts

Galera,

 

Tenho a seguinte tabela:

 

CREATE TABLE IF NOT EXISTS `reg010` (
 `Idaut` int(11) NOT NULL AUTO_INCREMENT,
 `TipoRegistro` char(3) DEFAULT NULL,
 `VersaoRegistro` char(3) DEFAULT NULL,
 `FuncaoOperador` char(3) DEFAULT NULL,
 `NumTsp` char(3) DEFAULT NULL,
 `CodProdataOper` int(10) DEFAULT NULL,
 `CodOperador` int(10) DEFAULT NULL,
 `NumOnibus` int(10) DEFAULT NULL,
 `Data` datetime DEFAULT NULL,
 `Hora` datetime DEFAULT NULL,
 `CodigoOperacao` char(3) DEFAULT NULL,
 `Status` char(1) DEFAULT NULL,
 `Assinatura` int(4) DEFAULT NULL,
 `IdArquivo` varchar(100) DEFAULT NULL,
 PRIMARY KEY (`Idaut`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='Registro TIPO 010' AUTO_INCREMENT=595

 

Sendo que os eventos não são inseridos de modo sequencial.

 

Exemplo:

 

O operador se vinculou no onibus em 2011-03-03 07:00 e se desvinculou as 2011-03-03 14:15, preciso fazer um select onde me retorne esses dados da seguinte maneira:

 

Data CodOperado HoraV HoraD

2011-03-03 001 2011-03-03 07:00 2011-03-03 14:15

 

Onde o CodigoOperacao para vinculacao 001 e Desvinculação 004

 

Alguém sabe como me ajudar??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Data CodOperado HoraV HoraD

2011-03-03 001 2011-03-03 07:00 2011-03-03 14:15

 

SELECT a.Data, a.CodOperador, a.Hora AS HoraV, b.Hora AS HoraD
FROM reg010 AS a
LEFT JOIN reg010 AS b ON a.CodOperador = b.CodOperador
GROUP BY CodOperador
ORDER BY CodOperador

 

Uma pergunta...

Porque você não deixa a vinculação e desvinculação no mesmo registro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se entendi direito, mas se nessa tabela é pra armazenar a hora da vinculação e a hora da desvinculação, deveria ter uma coluna HoraVinculacao e HoraDesvinculacao, ambas tipo DateTime em vez de uma coluna só pra data tipo DateTime e outra só para hora, também DateTime.

 

Dessa forma que você fez na hora que o cara desvincular vai sobrescrever o valor da hora da vinculação.

 

Não entendi direito sua questão e desculpe se eu estiver falando bobeira.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Senartes / Bezerk,

 

Eu leio as seguintes linhas um arquivo txt e gravo os dados nas tabelas:

 

010001001002000015492700000179150000048002028195398400100000
010001001002000015492700000179150000048002028195399400200000
010001001002000015492700000179150000048002028197976200500000
010001001002000015492700000179150000048002028198017200400000

 

E insiro assim:

 

INSERT INTO `reg010` VALUES
(1, '010', '001', '002', '002', 229576, 19097, 48081, '2011-02-27 00:00:00', '2011-02-27 06:53:02', '001', '0', 0, 'TG002_48001_13138_02436_002_20110227234455_68.94.txt'),
(2, '010', '001', '002', '002', 229576, 19097, 48081, '2011-02-27 00:00:00', '2011-02-27 06:53:13', '002', '0', 0, 'TG002_48001_13138_02436_002_20110227234455_68.94.txt'),
(3, '010', '001', '002', '002', 229576, 19097, 48081, '2011-02-27 00:00:00', '2011-02-27 15:01:28', '005', '0', 0, 'TG002_48001_13138_02436_002_20110227234455_68.94.txt'),
(4, '010', '001', '002', '002', 229576, 19097, 48081, '2011-02-27 00:00:00', '2011-02-27 15:01:37', '004', '0', 0, 'TG002_48001_13138_02436_002_20110227234455_68.94.txt'),
(5, '010', '001', '002', '002', 208580, 18656, 48081, '2011-02-27 00:00:00', '2011-02-27 15:09:56', '001', '0', 0, 'TG002_48001_13138_02436_002_20110227234455_68.94.txt')

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça um join com a própria tabela.

 

Algo assim

 

 

tabela
------
cod_onibus
tipo (chegada/saida)
datahora

 

select t1.cod_onibus,t1.datahora saida,t2.datahora chageda
from tabela t1,tabela t2
where t1.cod_onibus = t2.cod_onibus
and t1.tipo = 'saida'
and t2.tipo = 'chegada'

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.