Ver Mensaje Individual
  #3  
Antiguo 12-01-2008
ecch ecch is offline
Miembro
 
Registrado: dic 2007
Posts: 11
Reputación: 0
ecch Va por buen camino
Si estan en una maquina Sql

Cita:
Empezado por mateamargo Ver Mensaje
Hola,
Les planteo lo que necesito:
Basicamente tengo 2 tablas articulos y precios.
Articulos:
codigo_art
descripcion

Precios:
codigo_art
codigo_lista
precio_lista

Tengo los siguientes datos:

Articulos :
codigo_art descripcion
1 articulo nro 1
2 articulo nro 2

Precios
codigo_art codigo_lista precio_lista
1 1 50.00
2 2 85.00

archivo que quiero obtener despues de la ejecución del sql

codigo_art descripcion precio1 (el de la lista1) precio2 (el de la lista2)
1 articulo nro 1 50.00 0.00
2 articulo nro 2 0.00 85.00

Desde ya muchas gracias por vuestro tiempo.
Saludos

Mi opinion es que si necesitas dos Listas de precios lo trabajes a Nivel de Campo y no de registro. de esa forma tu construccion sql seria mas sencilla y no complicas al motor de Base de Datos. Es decir la estructura de la segunda tabla yo la cambiaria por la siguiente:

Precios
codigo_art precio_lista1 precio_lista2
1 50.00 0.00
2 0.00 85.00

Luego ya puedes hacer la construccion SQL

SELECT a.cod_art, a.descripcion, b.precio_lista1, b.precio_lista2
FROM Articulos a, Precios b
WHERE a.cod_art = b.cod_art

Tal como esta tu estructura, se podria intentar algo como esto, pero no lo he comprobado, seria cuestion de ponerlo en una base de datos y probarlo, (el (+) es para hace un outher Join, habria que ver como se hace en el dialecto de tu base de datos)

SELECT a.cod_art, a.descripcion, b.precio_lista precio1, c.precio_lista precio2
FROM Articulos a, Precios b, Precios c
WHERE a.cod_art = b.cod_art AND a.cod_art = c.cod_art AND b.codigo_lista(+) = c.codigo_lista

Bueno Es una idea, espero te sirva de algo, aunque la estructura de tu Lista de precios no acaba de convencerme.

Suerte

Última edición por ecch fecha: 12-01-2008 a las 08:57:10. Razón: inconcluso
Responder Con Cita