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

Evitar duplicados en select proveedores una order uno o muchos artículos

Estas en el tema de Evitar duplicados en select proveedores una order uno o muchos artículos en el foro de Oracle en Foros del Web. Que tal saludos a todos y pues tengo ya desde ayer viendo como puedo evitar esto que esl título del post. Lo que quiero es ...
  #1 (permalink)  
Antiguo 09/09/2011, 12:11
 
Fecha de Ingreso: mayo-2008
Mensajes: 7
Antigüedad: 15 años, 9 meses
Puntos: 0
Evitar duplicados en select proveedores una order uno o muchos artículos

Que tal saludos a todos y pues tengo ya desde ayer viendo como puedo evitar esto que esl título del post.
Lo que quiero es seleccionar los proveedores de la orden de compra. Es decir que cada orden puede tener hasta 3 ó 5 proveedores. Pero cada orden puede tener uno o muchos artículos (como en este caso). Ahora esta orden tiene 6 artículos y 3 proveedores que pueden surtir esa orden. Pero lo que me da como resultado es en realidad un 3x6= 18 filas como resutado. O sea que no esta mal el resultado pero por cada proveedor me muestra el artículo y pues yo lo que quiero es evitar que me duplique le resultado.
La consulta es a 6 tablas desde las cuales tomo los datos que ocupo y es esta:
Código:
select ct.fechacotiza,  p.nombrecomercial,  p.contacto,   p.telefono,   rq.ejercicio,   rq.consecutivo,   cb.descripcion,   um.descripcion_um,   pr.cantidad
from   cotizacion ct,   proveedores p,   requisicion rq,   catalogo_bienes cb,   partidasreq pr, unidad_medida um
where rq.ejercicio = pr.ejercicio  
and rq.consecutivo = pr.consecutivo
and ct.idproveedor = p.idproveedor
and pr.id_bien     = cb.id_bien
and cb.id_unidad   = um.id_unidad
and rq.ejercicio   = 2011
and rq.consecutivo = 1
Y bueno algo de lo que me muestra el select:

Código:
nombrecomercial            descripcion
---------------------     --------------------------------
aa                           FOLDER COLGANTE T/O 
xyz                          FOLDER COLGANTE T/O 
mm                          FOLDER COLGANTE T/O 
aa                            FOLDER TAMAÑO OFICIO P/100
xyz                          FOLDER TAMAÑO OFICIO P/100
mm                          FOLDER TAMAÑO OFICIO P/100
aa                            SOBRES MANILA TAMAÑO CARTA
xyz                          SOBRES MANILA TAMAÑO CARTA
mm                          SOBRES MANILA TAMAÑO CARTA
Creo que el select no está mal porque sí son 3 proveedores. Pero por cada proveedor me muestra el artículo y no quiero que haga esto. Solo quiero mostrar los 3 proveedores y los artículos.
gracias
  #2 (permalink)  
Antiguo 12/09/2011, 10:56
 
Fecha de Ingreso: noviembre-2007
Ubicación: Argentina
Mensajes: 134
Antigüedad: 16 años, 4 meses
Puntos: 3
Respuesta: Evitar duplicados en select proveedores una order uno o muchos artículos

Sickpsique,

Creo que es necesario analizar un poco mas la consulta que pasaste.

Cuando veo una consulta como la que muestras, veo una BD muy normalizada y puede que este bien pero eso depende de ciertos factores.

Si la normalizacion para evitar la duplicacion de datos ocasiona un exceso de tablas, podria traer confusion como en este caso y no es recomendable.

6 tablas para la consulta que necesitas hacer me parece muchisimo, pero bueno, es un problema propio de cada cliente.

Volviendo a tu consulta. Le faltan uniones de tablas y por lo tanto generas producto cartesiano, por eso la duplicacion.

Espero puedas leer este post y sacar algun provecho.

Exitos en tu resolucion,
Mario.
__________________
Y venció David al filisteo con honda y piedra; e hirió al filisteo y lo mató, sin tener David espada en su mano.

Etiquetas: duplicados, muchos, order, proveedores, select, tabla
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




La zona horaria es GMT -6. Ahora son las 21:32.