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

Consulta muy compleja

Estas en el tema de Consulta muy compleja en el foro de Mysql en Foros del Web. Buenos días, Tengo una consulta que me está matando, expongo: Cita: Select t.titulo, t.fecha, t.lecturas, u.usuario, t.url, t.ultrespuesta, t.bloqueado, t.importante, Count(m.idmensaje) As Msg, l.idusuario From ...
  #1 (permalink)  
Antiguo 17/12/2007, 05:33
Avatar de pempas  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 985
Antigüedad: 20 años, 4 meses
Puntos: 6
Consulta muy compleja

Buenos días,

Tengo una consulta que me está matando, expongo:

Cita:
Select t.titulo, t.fecha, t.lecturas, u.usuario, t.url, t.ultrespuesta, t.bloqueado, t.importante, Count(m.idmensaje) As Msg, l.idusuario From (((foro_temas t Inner Join usuarios u ON t.idusuario=u.idusuario) Left Join foro_mensajes m ON t.idtema=m.idtema) Left Join foro_lecturas l ON t.idtema=l.idtema And l.idusuario=3) Where t.importante='No' And t.idforo=2 Group By t.idtema Order By t.importante DESC, t.ultrespuesta DESC;
Explico como va, tengo estas tablas:

Código PHP:
Tabla foro_temas:
titulo --> char
fecha 
--> datetime
lecturas 
--> int
url 
--> char
ultrespuesta 
--> datetime
bloqueado e importante 
--> enum 
Código PHP:
Tabla foro_mensajes (Se almacenan las respuestas a los temas):
idmensaje --> int
titulo 
--> char
contenido 
--> text 
Código PHP:
Tabla usuarios:
usuario --> char 
Código PHP:
Tabla foro_lecturas (sirve para saber los mensajes que cada usuario ha leído):
idusuario --> int
idtema 
--> int 
Lo que quiero es sacar en una misma consulta:
  1. El número de respuestas que ha tenido cada tema.
  2. Si el usuario actual no ha leído el tema, (l.idusuario) tiene que ser Null, creo que eso lo hace bien.
Lo que pasa es que no me da correctamente el número de respuestas, cada vez que entro al mensaje me salen más respuestas...
¿Qué está mal en la consulta?

Muchas gracias!
  #2 (permalink)  
Antiguo 17/12/2007, 05:40
Avatar de pempas  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 985
Antigüedad: 20 años, 4 meses
Puntos: 6
Re: Consulta muy compleja

Tema resuelto, error mío...
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 06:52.