Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Resolver consulta simple

Estas en el tema de Resolver consulta simple en el foro de Mysql en Foros del Web. Hola, necesito hacer una consulta para ver los comentarios que fueron denunciados por algun usuario, que me devuelva basicamente lo siguiente: * Usuario que lo ...
  #1 (permalink)  
Antiguo 27/11/2011, 14:38
 
Fecha de Ingreso: mayo-2010
Mensajes: 66
Antigüedad: 13 años, 11 meses
Puntos: 2
Resolver consulta simple

Hola, necesito hacer una consulta para ver los comentarios que fueron denunciados por algun usuario, que me devuelva basicamente lo siguiente:

* Usuario que lo denuncio
* Usuario denunciado
* Comentario

La tablas que son las siguientes:

Usuarios(UsuarioID,Usuario,Password,Nombre,Apellido,F_Nacimiento,F_C reada,Email,Pais,Ciudad,Sexo,E_Publico,E_Suscripto ,Activado,Ban,Avatar,Firma)
Comentarios(ComentarioID,Seccion,SeccionID,UsuarioID,Bloqueado,Fecha,Comen tario)
Denuncias(UsuarioID,ComentarioID,Fecha)

Código PHP:
        $consulta mysql_query("SELECT u.Usuario,d.Fecha, c.Comentario
                                    FROM denuncias AS d INNER JOIN usuarios AS u ON d.UsuarioID = u.UsuarioID
                                    INNER JOIN comentarios AS c ON d.ComentarioID = c.ComentarioID
                                    "
); 

El problema que tengo es que no sé como relacionar para que me devuelva 2 usuarios distintos (usuario denunciado y usuario denunciante) cuando el atributo se llama igual y esta en la misma tabla (usuarios.Usuario)

Aclaración, en la tabla denuncia se guarda por ejemplo:

(1,5,2011-11-16) (1 es el usuario que denuncio, 5 es el ID del comentario)

En comentario:
(5,etc.... y en el atributo UsuarioID = 10) (usuario 10 es el usuario denunciado)

Finalmente tengo que recuperar entonces:

El usuario 1 y el 10 de la tabla de usuarios...

espero que puedan ayudarme.


Saludos
  #2 (permalink)  
Antiguo 29/11/2011, 01:57
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Resolver consulta simple

El truco es usar la tabla usuarios dos veces con alias distintos....

((Usuarios as Denunciantes <-> Denuncias donde Denunciantes.UsuarioID=Denuncia=UsusrioID)
<-> Comentarios donde Comentarios.ComentarioID=Denuncias.ComentarioID)
<-> Usuarios as Denunciados donde Denunciados.UsuairoID=Comentarios.UsuarioID

SSi lo traduces tendrás el FROM, el resto es fácil....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 29/11/2011, 09:50
 
Fecha de Ingreso: mayo-2010
Mensajes: 66
Antigüedad: 13 años, 11 meses
Puntos: 2
Respuesta: Resolver consulta simple

Gracias, me quedó así.

Código PHP:
        $consulta mysql_query("SELECT denunciante.Usuario,denunciado.Usuario,d.Fecha,c.Comentario
                                    FROM denuncias AS d INNER JOIN usuarios AS denunciante ON d.UsuarioID = denunciante.UsuarioID
                                    INNER JOIN comentarios AS c ON d.ComentarioID = c.ComentarioID
                                    INNER JOIN usuarios AS denunciado ON c.UsuarioID = denunciado.UsuarioID
                                    "
); 
Saludos.

Etiquetas: join, query, resolver, select, simple, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:32.