SQL - AYUDA

   
Vista:

AYUDA

Publicado por Luis Loayza (2 intervenciones) el 11/02/2009 17:01:04
Necesito ayuda para una consulta SQL: tengo una tabla de [Clientes] con los campos:

Idcliente,
NombreCliente y
Historico(int)

Luego tengo dos tablas [Productos] y [HistoricoProductos] con la misma estructura (a diferencia del Id):

IdProducto (para Productos) y IdHistoricoProductos (para HistoricoProductos),
Idcliente
Producto y
Precio.

Lo que necesito es una consulta que me muestre un listado de productos por cliente:

select Cliente.NombreCliente, Productos.Producto, Productos.Precio From Clientes left outer join Productos on Clientes.IdCliente=Productos.IdCliente

Esto funciona perfectamente.... pero que tal si necesito que si en caso de que el campo Historico (de la tabla de Clientes) es 1 me muestre los productos y precios de la tabla de Productos y si es 0 que me muestre de la tabla HistoricoProductos.... he tratado con CASE... pero no funciona o no se como hacer las relaciones

Alguna Idea???
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:AYUDA

Publicado por Danilo (6 intervenciones) el 13/02/2009 06:25:21
SELECT NOMBRE_CLIENTE, CASE WHEN HISTORICO = 1 THEN C.PRODUCTO ELSE B.PRODUCTO END AS PRODUCTO,
CASE WHEN HISTORICO = 1 THEN C.PRECIO ELSE B.PRECIO END AS PRECIO
FROM CLIENTES AS A
LEFT OUTER JOIN PRODUCTOS AS B ON A.IDPRODUCTO = B.IDPRODUCTO
LEFT OUTER JOIN HISTORICOPRODUCTOS AS C ON A.IDPRODUCTO = D.IDPRODUCTO

ESPERO TE AYUDE SI NO PUEDES CONTACTARME VIA CORREO
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:AYUDA

Publicado por Luis Loayza (2 intervenciones) el 13/02/2009 13:59:42
Muchas gracias.... me sirvio mucho
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