Ver Mensaje Individual
  #6 (permalink)  
Antiguo 26/02/2013, 05:18
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Consultas Mysql

No si hay varios encargados saldran todos, y te va a repetir las respuestas para cada encargado...para ello debe haber varios iduser para un mismo idcaso en la tabla encargados.

Fijate que no estoy usando para nada el campo User_id de la tabla Casos... (de hecho no se que significado tiene, podria ser el usuario que ha publicado el caso ... pero si no es ademas uno de los encargados no van asalir sus datos... para que saliera habria que relacionar otra vez la taba personal, esta vez directamente con Casos.

La relación Casos Encargados Personal tal y como lo tienes es una relación N:M y la quiery lo respeta (Casos Respuestas Personal tambien es N:M y tambien se respeta). Cada caso puede tener N encargados y cada Personal puede ser encargado de M casos, lo mismo para las repuestas...

En cambio Casos Personal, por el campo User_id de Casos seria una relacion 1:N que no queda reflejada en la query que te mande...Cada caso solo se relaciona con un Usuario (1) pero cada usuario se puede relacionar con N casos.

Código MySQL:
Ver original
  1. SELECT c.id,
  2. c.Tipo_caso,
  3. c.Mensaje,
  4. cp.Id IdPublicador, --<---
  5. cp.Nombre NombrePublicador,  --<---
  6. cp.Cargo CargoPublicador, --<---
  7. ep.Id IdEncargado,  
  8. ep.Nombre NombreEncargado,
  9. ep.Cargo CargoEncargado,
  10. r.Id IdRespuesta,
  11. r.Respuesta,
  12. rp.Id IdUsuResponde,
  13. rp.Nombre NombreUsuResponde,
  14. rp.Cargo CargoUsuResponde
  15. FROM ((Casos c INNER JOIN Personal cp ON c.User_id=cp.Id) --<----
  16.           INNER JOIN
  17.               (Encargados e INNER JOIN Personal ep ON e.User_id=ep.Id)
  18.           ON c.Id=e.Id_caso)
  19.           INNER JOIN
  20.              (Respuestas r INNER JOIN Personal rp ON r.User_id=rp.Id)
  21.           ON c.Id=r.Id_caso;
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 26/02/2013 a las 05:25