Ver Mensaje Individual
  #13 (permalink)  
Antiguo 25/07/2012, 06:30
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

(Desde la oficina)
La idea sería que se realice un producto cartesiano, pero que se discrimine todos los pares que no se encuentren ya en la tabla de prestaciones.
Eso devolverá una tabla bastante grande de datos, donde la clínica se repetirá una vez por cada producto que no se encuentre en la tabla, por lo que hay tres formas de encarar la cosa:

1) Si quieres los datos de todas las clínicas y de la prestaciones:
Código MySQL:
Ver original
  1.     C.ID_CLINICA,
  2.     C.VAL_CLINICA,
  3.     I.ID_ISAPRES,
  4.     I.VAL_ISAPRES
  5. FROM clinica C, isapres I
  6.     (I.ID_ISAPRES, C.ID_CLINICA) NOT IN (SELECT ID_ISAPRES, ID_CLINICA FROM prestacion P)
  7. ORDER BY C.ID_CLINICA;

2) Si quieres sólo los de una clínica:
Código MySQL:
Ver original
  1.     C.ID_CLINICA,
  2.     C.VAL_CLINICA,
  3.     I.ID_ISAPRES,
  4.     I.VAL_ISAPRES
  5. FROM clinica C, isapres I
  6.     (I.ID_ISAPRES, C.ID_CLINICA) NOT IN (SELECT ID_ISAPRES, ID_CLINICA FROM prestacion P)
  7.     AND C.ID_CLINICA = valorBuscado
  8. ORDER BY I.VAL_ISAPRES;

3) Si quieres sólo las prestaciones que no se hicieron en esa clínica:
Código MySQL:
Ver original
  1.     DISTINCT
  2.     I.ID_ISAPRES,
  3.     I.VAL_ISAPRES
  4. FROM clinica C, isapres I
  5.     (I.ID_ISAPRES, C.ID_CLINICA) NOT IN (SELECT ID_ISAPRES, ID_CLINICA FROM prestacion P)
  6.     AND C.ID_CLINICA = valorBuscado;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)