Colocar dois registros em uma unica linha
Boa tarde,
Eu tenho uma tabela que armazena dois registros por dia de cada usuário. Ele salva o id do usuário e a data com hora.
Preciso fazer uma consulta que me retorne os dois horários do dia em uma unica linha, referente aquele usuário.
Ex.:
users_id created_at
1 2015-02-24 17:20:54
1 2015-02-24 18:00:00
2 2015-02-24 09:00:00
2 2015-02-24 18:24:09
Eu tentei fazendo assim:
SELECT DISTINCT s.users_id,
(SELECT created_at FROM schedules WHERE schedules_type_id = 1 AND users_id = s.users_id) AS entrada,
(SELECT created_at FROM schedules WHERE schedules_type_id = 2 AND users_id = s.users_id) AS saida
FROM schedules s
Mas não tive resultado.
Essa é a estrutura da minha tabela:
CREATE TABLE `schedules` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`users_id` int(11) DEFAULT NULL,
`schedules_type_id` int(11) DEFAULT NULL,
`created_at` datetime NOT NULL,
`updated_at` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `IDX_313BDC8E67B3B43D` (`users_id`),
KEY `IDX_313BDC8E692AF56F` (`schedules_type_id`),
CONSTRAINT `FK_313BDC8E692AF56F` FOREIGN KEY (`schedules_type_id`) REFERENCES `schedules_type` (`id`),
CONSTRAINT `FK_313BDC8E67B3B43D` FOREIGN KEY (`users_id`) REFERENCES `users` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
Obrigado pela ajuda.
Discussão (2)
Carregando comentários...