Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/11/2012, 10:57
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 17 años
Puntos: 574
Respuesta: Consulta condicional en base al valor de un campo

Interpreto lo siguiente y si esta bien la solución seria la que sigue:

Visitas
id_visita PK
id_contacto
tipo_contacto
ubicacion

Datos
Código pre:
Ver original
  1. id_visita, id_contacto, tipo_contacto, ubicacion
  2.       1                1          CLIENTE          calle
  3.       2                2          PROSPECTO    telefono

Cliente
id PK
nombre
apellidos

Datos
Código pre:
Ver original
  1. id,nombre,apellidos
  2. 1     c1           C1
  3. 2     c2           C2



Prospecto

id PK
nombre
apellidos

Datos
Código pre:
Ver original
  1. id,nombre,apellidos
  2. 1     p1           P1
  3. 2     p2           P2

Solución

Código MySQL:
Ver original
  1. SELECT v.id_visita,
  2.              v.id_contacto,
  3.              v.tipo_contacto,
  4.              sbc.nombre,
  5.              sbc.apellidos,
  6.              v.ubicacion
  7. FROM Visitas v
  8.       INNER JOIN  
  9.             (SELECT id,nombre,apellidos, "CLIENTE" as tipo_contacto
  10.               FROM Cliente
  11.             UNION ALL
  12.             SELECT id,nombre,apellidos, "PROSPECTO" as tipo_contacto
  13.              FROM Prospecto) sbc
  14.       ON v.id_contacto=sbc.id
  15.         AND v.tipo_contacto=sbc.tipo_contacto;

Si?
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.