En un sistema, he desarrollado un modulo de mensajes privado entre usuarios, donde uno le puede escribir al otro y este responderle. Logro mostrar la conversacion entre ambos usuarios. Hasta aqui todo bien. El asunto se complica cuando en la pagina principal de los mensajes, quiero listarlos de la siquiente manera.
Necesito que la busqueda seleccione el id de un usuario sea este emisor o receptor, pero que solo me muestre un resultado por cada conversacion. Por tanto que me muestre solo el ultimo mensaje por cada conversacion, ya sea el emisor o receptor. No se si aqui fui lo suficientemente claro, pero el asunto quedaria algo como: Select emiter = id or receiver = id group by emiter,receiver
Código SQL:
Ver original
SELECT * FROM messages_private WHERE emiter = 2 OR receiver = 2 GROUP BY emiter,receiver ORDER BY created_at DESC
El problema de esa sentencia, es que me va a devolver 4 registros en vez de 2. Por ejemplo,
Código HTML:
-- emiter --- receiver-- 1 2 2 1 1 3 3 1