Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/06/2012, 08:50
dattar
 
Fecha de Ingreso: abril-2012
Ubicación: Capital Federal
Mensajes: 4
Antigüedad: 12 años
Puntos: 0
Pregunta Un if adentro de un left join

Tengo un problema y estuve tratando de buscar info pero no hay caso, encuentro algunos casos medios parecidos pero nada.
El planteo es este:

Tabla principal llamada leyes_relacion con 3 campos que son:

ley_id
relacion_id
tipo_relacion

en el primero va el id de la ley, en el segundo el id de la relacion y en el tercero el tipo de la relacion, que puede tener 3 valores 1 si es jurisprudencia, 2 si es doctrina, 3 si es ley. Mi problema esta aca, voy a tratar de plasmarlo en este ejemplo de consulta:

SELECT * FROM leyes_relacion
(if tipo_relacion == 1 then LEFT JOIN jurisprudencia ON jurisprudencia_id = tipo_relacion )
(if tipo_relacion == 2 then LEFT JOIN doctrina ON doctrina _id = tipo_relacion )
(if tipo_relacion == 3 then LEFT JOIN leyes ON leyes _id = tipo_relacion )
WHERE ley_id = 1255

no se si es posible esto dentro de la tabla relaciones el id de la ley que estoy buscando esta muchas veces ya que las relaciones son varios documentos con la ley elegida en este caso la 1255. Es decir puede estar relacionada con 3 doctrinas, 2 jurisprudencias y 4 leyes.

Espero se haya alguna solucion para esto, sino la otra es hacerlo en dos consultas, pero no es la idea.
Muchas gracias.