SQL - CONDICIONAL SQL

 
Vista:

CONDICIONAL SQL

Publicado por sagatz (2 intervenciones) el 27/10/2008 10:05:57
Bien, mi pregunta es la siguiente, dispongo de 3 tablas, quiero hacer una consulta de selección de manera que se seleccione el campo DIRECCION de la tabla A o el campo DIRECCION de la tabla B, en función del valor del campo TIPODIRECCION de la tabla C. Es decir, el resultado será una selección de campos de la tabla C, como nombre, apellidos, tipo de dirección, etc.. y un campo DIRECCIÓN de una de las 2 tablas, A y B. Este campo DIRECCION provendrá de la tabla A o de la B, en función del valor que tengamos en el campo TIPODIRECCIÓN de la tabla C. No sé si me he explicado.. Para conseguir esto, hay que hacer una condición en la consulta, de manera que se compruebe el valor del campo TIPODIRECCION y seleccione el campo DIRECCION de la tabla A o el de la B dependiendo del valor obtenido.

Sé que se puede hacer, puesto que una vez lo conseguí, pero no guardé la consulta y ahora lo necesito de nuevo pero no logro hacerlo. ¿Alguien sabría decirme como por favor? Infinitas gracias a quien lo consiga.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:CONDICIONAL SQL

Publicado por pacopaz (143 intervenciones) el 27/10/2008 18:26:20
Que manejador de base de datos utilizas?
Con que valores ditingues la tabla de la que será obtenida la dirección?

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CONDICIONAL SQL

Publicado por sagatz (2 intervenciones) el 27/10/2008 22:05:44
hola, es una consulta de ACCESS. Lo que hago es comprobar el valor del campo de una tabla, que puede ser 'A' o 'B'. Si es A, le digo que seleccione el campo DIRECCION de la tabla A y si es B selecciona el campo DIRECCION de la tabla B. Eso es lo que necesito. No sé si se hace con un DECLARE o con un IF o con alguna instrucción que no recuerdo o no conozco. Gracias...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CONDICIONAL SQL

Publicado por pacopaz (143 intervenciones) el 28/10/2008 01:31:32
Puedes usar algo como esto:

select iif(c.tipodireccion = "A", a.direccion, iif(c.tipodireccion = "B", b.direccion, "") from tablaC as c left join tablaA on (la relación) left join tablaB left join (la relación)
where....

Espero que te sirva.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar