Si, pero tenes que hacer un consulta anidada y ahí hacer la comparación
Código SQL:
Ver originalWHERE e.nstatus = 2 AND (e.nversion=(SELECT MAX(e.nversion)))
Todo el código seria así: (No puse el DISTINCT)
Código SQL:
Ver originalSELECT e.nid_evento,
e.sclave,
e.snombre_evento,
e.dfecha_inicio,
e.dfecha_fin,
e.nasistentes,
c.srazon_social,
te.stipo_eventos,
e.nstatus,
u.susuario,
e.nversion
FROM eventos e
INNER JOIN clientes c ON(e.nid_cliente = c.nid_cliente)
LEFT JOIN tipo_eventos te ON(te.nid_tipo_evento = e.nid_tipo_evento)
LEFT JOIN usuarios_eventos ue ON(e.nid_evento = ue.nid_evento)
LEFT JOIN usuarios u ON(ue.nid_usuario = u.nid_usuario)
WHERE e.nstatus = 2 AND (e.nversion=(SELECT MAX(e.nversion)))
Si usas el DISTINCT la consulta te trae los valores únicos de los campos declarados y por eso capaz no obtenias todos los registros