Buenas noches.
Llevo toda la tarde detras de una consulta y tengo la cabeza chamuscada ya, asi que voy a molestaros un poco a ver si podeis ayudarme.
Tengo una tabla con un usuario:
usuario_web(
id_user,pass,mail,nombre)
Otra con mensajes privados:
user_private_message(
id_user,Id_mp,visto
y otra con mensajes de perfil
mensaje_perfil(
Id_mensaje,user_destino,texto,fecha,visto)
Lo que quiero basicamente, (ademas de hacerlo tambien para mas tablas pero con conseguirlo para estas creo que seria capaz de seguir con ello) sacar de varias tablas valores.
En este caso, me gustaria sacar el email y el nombre del usuario_web, el numero de los mensajes privados que esten asociados a el (id_user='nombreusuario' y ademas no esten vistos visto=0 y lo mismo para los mensajes de perfil sacar la cantidad de ellos asociados al usuario y no vistos
El problema me viene por que una vez que por ejemplo esta consulta:
Código MySQL:
Ver originalSELECT UW.ID_FACEBOOK
,UW.EXPERIENCIA
,UW.AVATAR
,UW.JUGANDO
,UW.IDIOMA_PREFERIDO
, COUNT(MSG.ID_MENSAJE
) AS NUM_MENSAJES
, FROM USUARIO_WEB UW
LEFT JOIN MENSAJE_PERFIL MSG
ON UW.ID_USER
=MSG.USER_DESTINO
LEFT JOIN USER_PRIVATE_MESSAGE MP
ON UW.ID_USER
=MP.ID_USER
WHERE UW.ID_USER
='XUTURK' AND MSG.VISTO
='0' AND MP.VISTO
='1'
Y si es MP='1' me saca en NUM_MP y NUM_MENSAJES 1, esto esta bien, pero si pongo MP='0' me saca bien que NUM_MP es 0 pero me pone a 0 el MSG, creo que esto tiene su logica en el join que esta mal hecho, creo que deberia utilizar varias consultas, pero no se me ocurre como hacerlo para que todo esto me quede en una unica devolucion de datos.
Agradeceria mucho vuestra ayuda.
Un saludo.