Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Seleccionar uno o mas registros dinamicamente

Estas en el tema de Seleccionar uno o mas registros dinamicamente en el foro de Bases de Datos General en Foros del Web. Hola a todos, soy nuevo en el foro y en este tema, bueno la cosa es la siguiente. Tengo dos tablas en una BD oracle, ...
  #1 (permalink)  
Antiguo 21/01/2010, 10:10
 
Fecha de Ingreso: enero-2010
Mensajes: 3
Antigüedad: 14 años, 3 meses
Puntos: 0
Seleccionar uno o mas registros dinamicamente

Hola a todos, soy nuevo en el foro y en este tema, bueno la cosa es la siguiente.

Tengo dos tablas en una BD oracle, una de pedidos y otra de detalle del pedido, la cosa es que yo deseo que por medio de un query extraer la informacion del detalle de un pedido pero, si existe un producto x que sea de tipo 'nuevo' entonces la consulta uiunicamente me devolvera ese producto, pero si en el detalle de pedido no existe un producto 'nuevo' entonces me debera devolver todos los productos,,, me explico ??????

En decir, si el pedido tiene un producto nuevo solo me mostrara ese producto que esta en el detalle descartando todos los demas productos.

Se que los mas facil seria un SP pero no puedo generarlos por politicas de la empresa... de ante mano muchas gracias por su ayuda.....

OK, un ejemplo seria :

PEDIDO
------------------------------
N_Pedido -- Descipcion
------------------------------
001 -- Pedido 1
002 -- Pedido 2


PEDIDO_DETALLE
-----------------------------------------------------------
No_Detalle -- N_Pedido -- Producto -- Tipo
-----------------------------------------------------------
001 -- 001 -- 01001 -- Nuevo
002 -- 001 -- 22222 -- Anterior
003 -- 002 -- 33333 -- Anterior
004 -- 002 -- 44444 -- Anterior


Si yo consulto el pedido 001, entonces la consulta me debera arrojar el producto 01001 (ya que es NUEVO),,, pero si consulto el pedido 002, entonces la cosulta me debera arrojar los producto 33333 y 44444 (ya que estos productos no son nuevos).

Nuevamente Gracias.......

Última edición por JosephArts; 21/01/2010 a las 10:33
  #2 (permalink)  
Antiguo 21/01/2010, 10:16
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Seleccionar uno o mas registros dinamicamente

sin ejemplos ni una consulta preliminar dificilmente te podemos ayudar.

saludos JosephArts
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 21/01/2010, 14:43
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Seleccionar uno o mas registros dinamicamente

Aunque algo lenta, esto, creo, lo hará:
Código SQL:
Ver original
  1. (SELECT N_pedido, No_detalle, producto, tipo
  2.  FROM pedido_detalle
  3. WHERE EXISTS(SELECT N_pedido
  4.  FROM `pedido_detalle`
  5.  WHERE N_pedido = '001' AND tipo = 'nuevo' GROUP BY N_pedido HAVING COUNT(*) > 0)
  6.  AND N_pedido = '001' AND tipo = 'nuevo')
  7. UNION ALL
  8. (SELECT N_pedido, No_detalle, producto, tipo
  9.  FROM pedido_detalle
  10.  WHERE NOT EXISTS(SELECT N_pedido
  11.  FROM `pedido_detalle`
  12.  WHERE N_pedido = '001' AND tipo = 'nuevo' GROUP BY n_pedido HAVING COUNT(*) > 0)
  13.  AND n_pedido = '001')

Adapta los nombres de los campos y compruébalos. Esa es la idea.

Etiquetas: dinamicamente, mas, registros, seleccionar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 05:43.