Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-10-2011
Avatar de microbiano
microbiano microbiano is offline
Miembro
 
Registrado: sep 2008
Ubicación: Mexico D.F
Posts: 349
Poder: 16
microbiano Va por buen camino
ayuda con problem para determinar cuales son los registros con menor descuento

bien resulta que no se como resolver estes problema:

planteamiento teorico:

de un producto por ejemplo gansitos puedo tener 5 proveedores que me oferten lo siguiente:

proveedor, precio,descuento
proveedor 1, 100, 10%
proveedor 2,100,15%
proveedor 3,100,20%
proveedor 4,100,16%
proveedor 5,100,3%

bien en este caso tendrias que determinar que porcentaje de compra le corresponde a los que 3 que oferten el mayor descuento esn este caso quedaris de lasiguiente manera :

proveedor, precio,descuento, % de compra
proveedor 1, 100, 10%
proveedor 2,100,15%, 20%
proveedor 3,100,20%, 70%
proveedor 4,100,16%, 30%
proveedor 5,100,3%

y en el siguiente caso si solo tengo dos proveedores entonces tendria que asignar al primero con mayor descuento el 705 y al segundo el 30% como puedo hacer esto con sql o alguna idea para poder solucionar este problema?


he pensado en una tabla auxiliar en la que haga una consulta con max pero no tengo idea
Responder Con Cita
  #2  
Antiguo 28-10-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por microbiano Ver Mensaje
proveedor, precio,descuento, % de compra
proveedor 1, 100, 10%
proveedor 2,100,15%, 20%
proveedor 3,100,20%, 70%
proveedor 4,100,16%, 30%

proveedor 5,100,3%
¿Y de dónde sale que sea 70, 30 y 20?
Responder Con Cita
  #3  
Antiguo 28-10-2011
Avatar de microbiano
microbiano microbiano is offline
Miembro
 
Registrado: sep 2008
Ubicación: Mexico D.F
Posts: 349
Poder: 16
microbiano Va por buen camino
eso lo determino yo :-) en la tabla esta la columna de porcentaje_compra
Responder Con Cita
  #4  
Antiguo 28-10-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
No entiendo cuál es el problema. Si el porcentaje de compra ya viene en la tabla pues simplemente ordena la tabla descendentemente por descuento y toma los tres primeros registros.

Por otra parte, ¿no sería más fácil comprarle TODO al proveedor que oferta más?

// Saludos
Responder Con Cita
  #5  
Antiguo 28-10-2011
Avatar de microbiano
microbiano microbiano is offline
Miembro
 
Registrado: sep 2008
Ubicación: Mexico D.F
Posts: 349
Poder: 16
microbiano Va por buen camino
si lo mas facil seria comprarle al que oferte mas pero como hago el update en la tabla para solo determinar los 3 primeros registro :-),
Responder Con Cita
  #6  
Antiguo 28-10-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
A ver si entiendo. Entonces ¿tú lo que quieres hacer es tomar los tres registros más altos y a esos registros asignarles un valor en el campo porcentaje de compra? Por cierto, dichos porcentajes ¿no deberían sumar 100? Porque en el ejemplo suman (120).

Y, a todo esto, ¿qué base de datos usas?

// Saludos
Responder Con Cita
  #7  
Antiguo 28-10-2011
Avatar de microbiano
microbiano microbiano is offline
Miembro
 
Registrado: sep 2008
Ubicación: Mexico D.F
Posts: 349
Poder: 16
microbiano Va por buen camino
Es corecto es lo que quiero hacer, en cuanto a los porcentaje jejeje me equivoque deberian ser 50, 30 y 20 %.
Responder Con Cita
  #8  
Antiguo 28-10-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No has contestado a la pregunta de Román, ¿qué base de datos usas?.
Si he entendido que necesitas los 3 proveedores con más descuento para un producto, entonces, si no he entendido mal, será algo así:

Código SQL [-]
select first 3 *
from proveedores 
where xxxxxxx   /* [aquí irán los parámetros que necesites según el proveedor del productoque estés buscando] */
order by descuento desc
Responder Con Cita
  #9  
Antiguo 28-10-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
me parece que lo que microbiana necesita es asignar el % a los x mejores descuentos que ofrecen los proveedores
no creo que sea tan sencillo

porque no sabemos el criterio para determinar que proveedor sale elegido

debes ser un poco mas explicito
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #10  
Antiguo 29-10-2011
Avatar de microbiano
microbiano microbiano is offline
Miembro
 
Registrado: sep 2008
Ubicación: Mexico D.F
Posts: 349
Poder: 16
microbiano Va por buen camino
Oscarac.

es correcto lo que comentas lo que necesito es asignar el porcentaje a los registros que cumplan con la condicion inicial. en cuanto a la base de datos manejada es sqlserver 2000.

espero me puedan ayudar de antemano muchas gracias.



estoy iniciand con una tabla temporal e la que pongo los 3 registros con mayor desceunto ;-), despues de eso creo que hacre una subconsulta y despues hacer un update en la tabla principal.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Delphi, Indy, SSL Cuales versiones trabajan bien con cuales ?. Como se configuran ? rolandoj Internet 12 23-03-2014 17:07:41
¿como hago para comprobar si un nº de versión es mayor o menor? cocute Varios 8 21-01-2010 11:31:13
Menor tiempo de Ejecucion para una funcion Informix pelacuaz Conexión con bases de datos 4 01-04-2009 23:54:40
Ayuda, Select que rescate el menor valor(unico) Overfind SQL 1 03-10-2006 04:16:31
como y cuales son para convertir datos jas010 SQL 1 10-02-2005 07:19:16


La franja horaria es GMT +2. Ahora son las 13:11:23.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi