No entiendo cuál es el problema con usar GROUP BY y ORDER BY quitando el DISTINCT (que sería la manera correcta)
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCAST(MAX(e.fecha) AS varchar(50))
SELECT p.nombre, CASE
WHEN max(e.fecha) IS NOT NULL THEN
max(e.fecha)::text
ELSE
'No Asistió'
END
FROM persona p
LEFT JOIN asistio a ON a.id_persona = p.id_persona
JOIN evento e ON e.id_evento = a.id_evento
GROUP BY p.nombre
SELECT n.id_notification as ID, u1.name as Emitter, u2.name as User
FROM notifications n
INNER JOIN users u1 ON n.id_emitter = u1.id_user
INNER JOIN users u2 ON n.id_user = u2.id_user;
id_user | name
---------+--------
1 | Carlos
2 | Miguel
3 | Juan
id_notificacion | id_user | texto
-----------------+---------+----------------------
1 | 2 | problema
2 | 2 | problema solucionado
3 | 1 | advertencia
4 | 3 | nota
5 | 3 | otra nota
SELECT n.id_notificacion, u.name, n.texto
FROM notificaciones n
INNER JOIN usuarios u
ON n.id_user = u.id_user;
id_notificacion | name | texto
-----------------+--------+----------------------
3 | Carlos | advertencia
1 | Miguel | problema
2 | Miguel | problema solucionado
4 | Juan | nota
5 | Juan | otra nota
SELECT n.id_notificacion, u.name, n.texto
FROM notificaciones n
INNER JOIN usuarios u
ON n.id_user = u.id_user
WHERE u.name = 'Juan';
id_notificacion | name | texto
-----------------+------+-----------
4 | Juan | nota
5 | Juan | otra nota
SELECT n.id_notificacion, u.name, n.texto
FROM notificaciones n
INNER JOIN usuarios u
ON n.id_user = u.id_user
WHERE u.name = 'Juan' OR u.name = 'Carlos';
id_notificacion | name | texto
-----------------+--------+-------------
3 | Carlos | advertencia
4 | Juan | nota
5 | Juan | otra nota
INNER JOIN notifications N ON U.id_user = N.id_emitter AND U.id_user = N.id_user