Ver Mensaje Individual
  #8 (permalink)  
Antiguo 24/07/2012, 22:01
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 3 meses
Puntos: 2658
Respuesta: duda con consulta

Es que si una prestación no se ha realizado en una clínica, la clínica jamás saldrá en el listado.
Es como decir que lo que quieres es el listado de clínicas donde jamás se realizó una determinada prestación. Para lograrlo hay que invertir las tablas:
Código MySQL:
Ver original
  1. mysql> SELECT
  2.     ->     C.ID_CLINICA,
  3.     ->     C.VAL_CLINICA,
  4.     ->     IFNULL(I.ID_ISAPRES, '') ID_ISAPRES,
  5.     ->     IFNULL(I.VAL_ISAPRES, '') VAL_ISAPRES
  6.     -> FROM clinica C
  7.     ->     LEFT JOIN
  8.     ->     prestacion P ON P.ID_CLINICA = C.ID_CLINICA
  9.     ->     LEFT JOIN isapres I ON I.ID_ISAPRES = P.ID_ISAPRES
  10.     -> WHERE P.ID_ISAPRES IS NULL;
  11. +------------+-------------+------------+-------------+
  12. | ID_CLINICA | VAL_CLINICA | ID_ISAPRES | VAL_ISAPRES |
  13. +------------+-------------+------------+-------------+
  14. |          2 | LAS FLORES  |            |             |
  15. +------------+-------------+------------+-------------+
  16. 1 row in set (0.01 sec)
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)