Ayuda con consulta...

03/01/2008 - 18:56 por Pepe | Informe spam
Una pregunta grupo

tengo dos tablas A y B , como puedo hacer una consulta que me devuelva
informacion de la tabla A y un campo fijo de la tabla B haciendo una JOIN
entre ambas por unos campos especificos cuando se cumpla un criterio que
puede ser distinto para cada registro

Ej:

TABLA A

ID TIPO NOMBRE REL1 REL2
1 A1 JUAN 55 26
3 B2 LUIS 73 54
..

TABLA B

ID PORCENTAJE REL1 REL2
1 33 55 33
2 55 86 54
...

Lo que me gustaria es poder hacer una Join teniendo en cuenta que si en
campo TIPO es A1 se haga la JOIN entre las tablas por el campo REL1 y si
TIPO es B2 se haga la JOIN por el campo REL2

de manera que segun esto devolveria

1 A1 JUAN 33%
2 B2 LUIS 55%


En realidad no solo hay 2 tipos sino que habra varios de la misma manera que
habra distintos campos por los que se podran combinar.. de manera que no me
sirve hacer dos Joins y unirlas ya que este ejemplo es simplficado respecto
al verdadero.

No se si me he explicado con claridad..

Gracias de antemano por la ayuda!!
 

Leer las respuestas

#1 Isaias
03/01/2008 - 19:51 | Informe spam
Pepe

Segun veo, de acuerdo a tu explicacion y resultado esperado, NO estas
controlando el JOIN por los campos, simplemente, decides que valor MOSTRAR de
REL1 y REL2

De ser asi, entonces es un simple CASE

SELECT CASE WHEN TIPO = 'A1' THEN REL1 ELSE REL2 END

¿Es asi?
Saludos
IIslas


"Pepe" wrote:

Una pregunta grupo

tengo dos tablas A y B , como puedo hacer una consulta que me devuelva
informacion de la tabla A y un campo fijo de la tabla B haciendo una JOIN
entre ambas por unos campos especificos cuando se cumpla un criterio que
puede ser distinto para cada registro

Ej:

TABLA A

ID TIPO NOMBRE REL1 REL2
1 A1 JUAN 55 26
3 B2 LUIS 73 54
...

TABLA B

ID PORCENTAJE REL1 REL2
1 33 55 33
2 55 86 54


Lo que me gustaria es poder hacer una Join teniendo en cuenta que si en
campo TIPO es A1 se haga la JOIN entre las tablas por el campo REL1 y si
TIPO es B2 se haga la JOIN por el campo REL2

de manera que segun esto devolveria

1 A1 JUAN 33%
2 B2 LUIS 55%


En realidad no solo hay 2 tipos sino que habra varios de la misma manera que
habra distintos campos por los que se podran combinar.. de manera que no me
sirve hacer dos Joins y unirlas ya que este ejemplo es simplficado respecto
al verdadero.

No se si me he explicado con claridad..

Gracias de antemano por la ayuda!!






Preguntas similares