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

[SOLUCIONADO] Consulta JOIN condicional

Estas en el tema de Consulta JOIN condicional en el foro de Mysql en Foros del Web. Estimados, Muy buenas tardes. Apelo a vostros por lo siguiente : tengo una consulta que deberia ser condicional, ya que implica 4 tablas (Clientes, personasFisicas, ...
  #1 (permalink)  
Antiguo 03/09/2015, 13:54
 
Fecha de Ingreso: enero-2013
Mensajes: 5
Antigüedad: 11 años, 3 meses
Puntos: 0
Consulta JOIN condicional

Estimados,

Muy buenas tardes. Apelo a vostros por lo siguiente : tengo una consulta que deberia ser condicional, ya que implica 4 tablas (Clientes, personasFisicas, personasJuridicas, contactos).
El problema es que cuando un Cliente es una persona fisica, la tabla contactos tendra asociado el idCliente y el idPersona, para relacionar ambas (personas y clientes).
En cambio , si fuese un cliente de tipo "personaJuridica", la relacion es unicamente entre personasJuridicas.idCliente = Clientes.idCliente.

Estoy buscando ejemplos de algun condicional , pero no encuentro lo que necesito.
Agradezo de antemano!

Código MySQL:
Ver original
  1.   Clientes.idCliente,
  2.   Clientes.nombreComercial,
  3.   Clientes.tipoPersona,
  4.   personasFisicas.nombre,
  5.   personasFisicas.Apellido ,
  6. personasJuridicas.razonSocial
  7.   FROM Clientes
  8.   IF (Clientes.tipoPersona = 'fisica')
  9. INNER JOIN personasFisicas ON  personasFisicas.idPersona = Contactos.idPersona
  10. INNER JOIN contactos ON Contactos.idCliente = Clientes.idCliente
  11.   ELSE
  12.     INNER JOIN personasFisicas ON  personasFisicas.idCliente = Clientes.idCliente)
  13.    END IF
  14.   WHERE Clientes.idCliente = 3;
[/CODE]

Última edición por gnzsoloyo; 03/09/2015 a las 14:11
  #2 (permalink)  
Antiguo 03/09/2015, 14:13
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Consulta JOIN condicional

Podrias hacer 2 queries uno para cada caso y dependiendo de si es un tipo u otro llamas al query que le corresponde
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 03/09/2015, 16:07
 
Fecha de Ingreso: enero-2013
Mensajes: 5
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Consulta JOIN condicional

Es una buena opción. No se como no se me ocurrió antes. Muchas Gracias Estimado

Etiquetas: condicional, join, select, tabla
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 20:45.