Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Consulta condicional en base al valor de un campo

Estas en el tema de Consulta condicional en base al valor de un campo en el foro de Mysql en Foros del Web. Hola, espero me puedan ayudar con esto (si es posible) Tengo una tabla mas menos asi ... id_visita (1,2,3,4,5) id_contacto (1,2,3,4,3) tipo_contacto('CLIENTE', 'CLIENTE', 'CLIENTE', 'PROSPECTO', ...
  #1 (permalink)  
Antiguo 31/10/2012, 19:32
Avatar de exception  
Fecha de Ingreso: septiembre-2011
Mensajes: 12
Antigüedad: 12 años, 7 meses
Puntos: 0
Busqueda Consulta condicional en base al valor de un campo

Hola, espero me puedan ayudar con esto (si es posible)

Tengo una tabla mas menos asi ...


id_visita (1,2,3,4,5)
id_contacto (1,2,3,4,3)
tipo_contacto('CLIENTE', 'CLIENTE', 'CLIENTE', 'PROSPECTO', 'PROSPECTO')
ubicacion ('calle', 'telefono')

Otra tabla llamada CLIENTE
id (1,2,3,4)
nombre ('c1', 'c2', 'c3', 'c4')
apellidos ('C1', 'C2', 'C3', 'C4')


Y la tabla PROSPECTO
id (1,2,3,4,5)
nombre ('p1', 'p2', 'p3', 'p4', 'p5')
apellidos ('P1', 'P2', 'P3', 'P4', 'P6')


La vista que quiero armar tiene que arrojarme algo asi ....
id_visita (1,2,3,4,5)
id_contacto (1,2,3,4,3)
tipo_contacto('CLIENTE', 'CLIENTE', 'CLIENTE', 'PROSPECTO', 'PROSPECTO')
nombre ('c1', 'c2', 'c3', 'p4', 'p3')
apellidos ('C1', 'C2', 'C3', 'P4', 'P3')


Espero darme a entender, gracias por su ayuda.
  #2 (permalink)  
Antiguo 01/11/2012, 10:57
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
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.

Etiquetas: referencia, busquedas, campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:03.