Sub Consulta

19/10/2005 - 21:47 por Victor Soto | Informe spam
Que tal grupo.

SELECT Tabla1.Campo1, Tabla1.Campo2, Tabla1Detalle.Campo1,
Tabla1Detalle.Campo2, Tabla2.Campo1, Tabla2.Campo2
FROM Tabla1 INNER JOIN
Tabla1Detalle ON Tabla1.Campo1 = Tabla1Detalle.Campo1
LEFT OUTER JOIN Tabla2 ON Tabla1Detalle.Campo1 = Tabla2.Campo1 AND
Tabla1Detalle.Tipo = 'CONCEPTO'

Tabla1 = Tabla1Detalle Uno a muchos
Tabla1Detalle = Tabla2 Todos los de la izquierda

Como puedo hacer para que cuando el campo de la Tabla1Detalle sea igual a
'CONCEPTO', busque ó regrese los campos Tabla2.Campo1, Tabla2.Campo2 de la
Tabla2

Gracias.
Saludos.
 

Leer las respuestas

#1 Juan Ant.
19/10/2005 - 22:16 | Informe spam
No sé si comprendo muy bien lo que dices, pero creo que puedes usar un
case:

SELECT Tabla1.Campo1, Tabla1.Campo2, Tabla1Detalle.Campo1,
Tabla1Detalle.Campo2,
CASE WHEN Tabla1Detalle.Tipo = 'CONCEPTO' THEN Tabla2.Campo1 ELSE 'Lo
que sea' END
FROM Tabla1 INNER JOIN
Tabla1Detalle ON Tabla1.Campo1 = Tabla1Detalle.Campo1
LEFT OUTER JOIN Tabla2 ON Tabla1Detalle.Campo1 = Tabla2.Campo1
AND
Tabla1Detalle.Tipo = 'CONCEPTO'

Te vale algo así?

Preguntas similares