Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/03/2012, 10:25
LENINCASCO
 
Fecha de Ingreso: enero-2010
Ubicación: Estelí, Nicaragua
Mensajes: 157
Antigüedad: 14 años, 11 meses
Puntos: 8
Respuesta: Sentencia LEFT JOIN con tablas N:M

Hola.

1. Al poner la clausula Where, le decis que solo muestre los que tengan cedula=123, por lo tanto no apareceran las infecciones que no esten relacionadas con esa cedula.

2. Si lo que quieres son todas las infecciones y que ademas puedas identificar cuales de esas tiene el paciente 123, tendrias que reestructurar la sentencia extrayendo los datos de la tabla infecciosas y uniendolas con el left a las otras tablas.

3. Usa alias a las tablas para facilitar la lectura y la misma estructuración de la sentencia.

ejemplo>

Código MySQL:
Ver original
  1. SELECT inf.idinfecciosas, inf.descripcion,p.cedula
  2. from infecciosas inf
  3. left join paciente_infecciosa pinf on pinf.idinfecciosa=inf.idinfecciosas
  4. left join paciente p on p.cedula=pinf.cedula

ojala y te pueda orientar un poco mas.