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

Consulta Basica

Estas en el tema de Consulta Basica en el foro de SQL Server en Foros del Web. Hola amigos de foros del web tenia una consulata basica si es que por favor me la pueden solucionar tengo que sacar el 20% de ...
  #1 (permalink)  
Antiguo 28/05/2008, 22:19
 
Fecha de Ingreso: abril-2008
Mensajes: 8
Antigüedad: 16 años
Puntos: 0
Consulta Basica

Hola amigos de foros del web tenia una consulata basica si es que por favor me la pueden solucionar
tengo que sacar el 20% de las mejores ventas de una tabla, como podria hacer esto, existe alguna funcion me que permita sacar esto ??
bueno me despido
saludos
Kite_ato
  #2 (permalink)  
Antiguo 28/05/2008, 22:36
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Consulta Basica

Primero tienes que definir qué significa para ti "mejor venta". Y seria mejor que dieras ejemplo de tus registros.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 29/05/2008, 08:51
 
Fecha de Ingreso: mayo-2008
Mensajes: 7
Antigüedad: 16 años
Puntos: 0
Respuesta: Consulta Basica

Hola

Supongo que las mejores ventas, se refiere a los mayores valores facturados o vendidos.

Partiendo de alli lo que haria es un sort a la tabla y luego selecciono los primeros 20 registros


Gema
Colombia
  #4 (permalink)  
Antiguo 29/05/2008, 08:53
Avatar de Thumper  
Fecha de Ingreso: agosto-2004
Ubicación: Jesús María - Lima - Perú
Mensajes: 270
Antigüedad: 19 años, 8 meses
Puntos: 6
Respuesta: Consulta Basica

Y si son mas de 100 datos????
jejeje.

Como dice flaviovich coloca algunos datos mas
y algunos registros.

saludos
__________________
Martín Alexis Valdivia S.
-----------------------------
"Quisiéramos cambiar el mundo, pero Dios no nos daría el código fuente." CAP
"Si Saber No Es Un Derecho, Seguro Será Un Izquierdo." WD
  #5 (permalink)  
Antiguo 29/05/2008, 12:59
 
Fecha de Ingreso: abril-2008
Mensajes: 8
Antigüedad: 16 años
Puntos: 0
Respuesta: Consulta Basica

Estas son las tablas
CREATE DATABASE SistVenta

CREATE TABLE Articulo (
artCod CHAR(5) NOT NULL,
artNombre CHAR(30),
artPrecio INT,
artStock INT
PRIMARY KEY (artCod)
)

CREATE TABLE Cliente (
cliRut CHAR(10) NOT NULL,
cliNombre CHAR(30),
cliDirec CHAR(30),
cliCiudad CHAR(20),
PRIMARY KEY (cliRut)
)

CREATE TABLE Venta (
venNro INT NOT NULL,
venFecha DATETIME,
cliRut CHAR(10) NOT NULL,
venTotal INTEGER,
PRIMARY KEY (venNro),
FOREIGN KEY (cliRut) REFERENCES Cliente(cliRut)
)

CREATE TABLE Detalle (
venNro INT NOT NULL,
artCod CHAR(5) NOT NULL,
detCant INT,
PRIMARY KEY (venNro, artCod),
FOREIGN KEY (venNro) REFERENCES Venta(venNro),
FOREIGN KEY (artCod) REFERENCES articulo(artCod)
)
la pregunta es esta...
listar el 20%de las ventas mas altas de cliente '1-9'
no se la idea que tengo yo es la siguiente...
select top 20 percent from Venta where cliRut='1-9' order by venTotal desc


saludos
Muchas gracias a los que respondieron
kike_ato
  #6 (permalink)  
Antiguo 29/05/2008, 13:57
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Consulta Basica

PERCENT te devuelve el una cantidad de registros del total segun las condiciones en WHERE.
No creo que sea lo que necesitas.
Tu consulta seria asi:
Código:
select top 20 * from Venta where cliRut='1-9' order by venTotal desc
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
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 23:21.