No estás registrado (Registrarse)

Vanilla 1.1.10 es un producto de Lussumo. Para más información: Documentación, Soporte.

    •  
      CommentAuthorignatius
    • CommentTimeOct 29th 2010 editado
     # 1
    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.
    •  
      CommentAuthorignatius
    • CommentTimeOct 29th 2010
     # 2
    Solucionado, gracias, conforme se acerca la noche se me van aclarando las ideas...
    •  
      CommentAuthorJavi
    • CommentTimeOct 29th 2010
     # 3
    una join
    •  
      CommentAuthorignatius
    • CommentTimeOct 29th 2010
     # 4
    Posted By: Javiuna join


    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'