Estoy un poco espeso y necesito un poco de ayuda con una cosulta que no es especialmente compleja pero se me resiste:
Partiendo de dos tablas, pongamos contenidos (un conjunto de contenidos distintos) y accesos (el log de la gente que va accediendo a contenidos)
contenidos -------------
conId conUsuarioId (creador/el que publica el contenido) conTitulo (...)
Accesos -------------
accId accConId accUsuarioId (el que accede al contenido) accFecha
Para un mismo contenido tenemos infididad de accesos distitos. Quiero hacer EN UNA ÚNICA CONSULTA, un select de, por ejemplo, todos los contenidos de un mismo usuario y la fecha de acceso más reciente y el usuario que accedió a él.
no exactamente... aunque las tablas que he puesto no son reales, creo que sirven para el ejemplo; el caso es que al principio estaba haciendo consultas con las dos tablas con inner join on c.conId=a.accConId, claro, pero para cada contenido había un montonazo de accesos y yo solo quería el último; si no me equivoco, con las tablas de ejemplo sería algo como:
SELECT c.conId, c.conUsuarioId, conTitulo, (SELECT a.accFecha FROM accesos a WHERE a.accConId=c.conId ORDER BY a.accFecha DESC LIMIT 1) ultimaFecha, (SELECT a.accUsuarioId FROM accesos a WHERE a.accConId=c.conId ORDER BY a.accFecha DESC LIMIT 1) ultimoUsuario FROM contenidos c WHERE c.conUsuarioId='$usuarioId'