Foros del Web » Programando para Internet » ASP Clásico »

Como se hace "SELECT...." para elegir solo 3 modelos!!!

Estas en el tema de Como se hace "SELECT...." para elegir solo 3 modelos!!! en el foro de ASP Clásico en Foros del Web. Hola Trabajo en la empresa, dedica la página web de www.motorpoint.com y está programada con el código ASP integrado a la base de datos. Veo ...
  #1 (permalink)  
Antiguo 25/02/2005, 06:32
 
Fecha de Ingreso: enero-2003
Ubicación: Madrid
Mensajes: 136
Antigüedad: 21 años, 5 meses
Puntos: 1
Como se hace "SELECT...." para elegir solo 3 modelos!!!

Hola

Trabajo en la empresa, dedica la página web de www.motorpoint.com y está programada con el código ASP integrado a la base de datos.

Veo bastante complicada. Bien sólo me refiero es:

Entra en http://www.motorpoint.com/newage/gui...mpracoches.asp y selecciona una marca y modelo…por ejemplo: Audi A3…pulsa el botón BUSCAR.

Aparecen varias listas de Modelo de Audi A3. Y ahora selecciona un AUDI A3 1.6 FSI Attraction 5p….esto es un ejemplo…

Y aparecerá este tipo modelo AUDI A3 1.6 FSI Attraction 5p y se detalla todos tipos de precio, combustible, potencia, Lista de Equipamiento, lista de Opcionales,….

Y vemos más abajo hay SERVICIOS, hay uno de los menús linkeados, VER RIVALES…este se ve en la parte derecha sobre EL MÁS BARATO | EL MAS CARO aparecen miles rivales de marca.

Este código es de SQL y viene de:

SQL="SELECT * FROM NUEVOS WHERE (Combustible LIKE '%" +combusb+ "%') AND (Tipo LIKE '%" +tipob+ "%') AND (Potencia > "& CLng(potencia1)-10 &") AND (Potencia < "& CLng(potencia2)+10 &") ORDER BY Marca, Precio DESC;"

Pero no queremos ver miles listas rivales de marca. Y queremos poner solo 3 RIVALES para ver la comparativa entre los tres rivales y el presente AUDI A3 1.6 FSI Attraction 5p en relación de PRECIO, COMBUSTIBLE, COSTE, POTENCIA, VELOCIDAD,…

¿Cómo se hace para insertar el código de SQL: “SELECT….??????” Para coger sólo los tres rivales a compararlo?

Tiene la base de datos almacenado:

Nombre de archivo: nuevos2.mdb
Nombre de Tablas: nuevos
Nombres de Campo:
ID (Hay unos 3200 registros)
MARCA
MODELO
VERSION
PRECIO
TIPO
CILINDRADA
POTENCIA
COMBUSTIBLE
VELOCIDAD
ACELERACION
CAMBIO
CONSUMO1
CONSUMO2
CONSUMO3
COSTE10
COSTE20
COSTE30
PINTURA
LLANTAS
ANTINIEBLA
XENON
ORDENADOR
ABS
GPS
CLIMA
AIRE
CUERO
AIRBAGCON
AIRBAGPAS
AIRBAGLA
AIRBAGTRAS
CONTROLTRAC
CONTROLEST
LLUVIA
FOTOS

Espero que alguien se solucione en breve.

Gracias a todos
  #2 (permalink)  
Antiguo 25/02/2005, 06:47
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 21 años, 9 meses
Puntos: 16
select top 3
  #3 (permalink)  
Antiguo 25/02/2005, 08:55
 
Fecha de Ingreso: febrero-2005
Ubicación: Campos y árboles
Mensajes: 44
Antigüedad: 19 años, 3 meses
Puntos: 0
Top

HOLA,

"TOP" ES UN PARÁMETRO DE SQL ANSI.

CON EL PODRÁS SELECCIONAR UN CONJUNTO DE REGISTROS DE TAMAÑO n.

MIRÁTELO.


SQL="SELECT TOP 3 * FROM NUEVOS WHERE (Combustible LIKE '%" +combusb+ "%') AND (Tipo LIKE '%" +tipob+ "%') AND (Potencia > "& CLng(potencia1)-10 &") AND (Potencia < "& CLng(potencia2)+10 &") ORDER BY Marca, Precio DESC;"

Última edición por acutillas; 25/02/2005 a las 08:56
  #4 (permalink)  
Antiguo 25/02/2005, 12:06
Avatar de dabadubab  
Fecha de Ingreso: febrero-2005
Ubicación: Sant Hiuston
Mensajes: 157
Antigüedad: 19 años, 3 meses
Puntos: 0
o simplemente, al crear el código HTML a partir del recordset (con los miles...) pon sólo los tres primeros

<%
dim kk
kk=0
rs.movefirst
while not rs.eof and kk<3
response.write(rs("campo1"));
response.write(rs("campo2"));
...
kk=kk+1
rs.movenext
rswend
%>

a ver si te va bien esto!!
saludos
Bernat
  #5 (permalink)  
Antiguo 25/02/2005, 12:07
Avatar de dabadubab  
Fecha de Ingreso: febrero-2005
Ubicación: Sant Hiuston
Mensajes: 157
Antigüedad: 19 años, 3 meses
Puntos: 0
el condicional apuralo un poco

while (not rs.eof) and kk<3

Los parentesis!! (no se a lo mejor lógicamente significa lo mismo....)
saludos!!
Bernat
  #6 (permalink)  
Antiguo 25/02/2005, 12:17
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 21 años, 9 meses
Puntos: 16
pero de esa manera el desempeño es pobre
  #7 (permalink)  
Antiguo 25/02/2005, 12:19
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Cita:
o simplemente, al crear el código HTML a partir del recordset (con los miles...) pon sólo los tres primeros
MMhh, aunque funciona, no es optimo, si tienes 10,000 registros, solamente vas a ocupar 3, no suena razonable, consumes recursos innecesariamente.

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #8 (permalink)  
Antiguo 28/02/2005, 02:51
 
Fecha de Ingreso: enero-2003
Ubicación: Madrid
Mensajes: 136
Antigüedad: 21 años, 5 meses
Puntos: 1
Cita:
Iniciado por acutillas
HOLA,

"TOP" ES UN PARÁMETRO DE SQL ANSI.

CON EL PODRÁS SELECCIONAR UN CONJUNTO DE REGISTROS DE TAMAÑO n.

MIRÁTELO.


SQL="SELECT TOP 3 * FROM NUEVOS WHERE (Combustible LIKE '%" +combusb+ "%') AND (Tipo LIKE '%" +tipob+ "%') AND (Potencia > "& CLng(potencia1)-10 &") AND (Potencia < "& CLng(potencia2)+10 &") ORDER BY Marca, Precio DESC;"
Gracias, se ha quedado perfecto como TOP 3.
Pêro me dí en cuenta que tambien deberian poner 3 tipos en diferentes marcas. Ya que comprobe al seleccionar AUDI A3 1.6 Ambition 3p, aparecen los Rivales en las 3 mismas marcas ALFA ROMEO.....

Me refiero 3 rivales en distintas marcas?????

Como se hace con "SELECT...????"

SQL="SELECT TOP 3 * FROM NUEVOS WHERE (Combustible LIKE '%" +combusb+ "%') AND (Tipo LIKE '%" +tipob+ "%') AND (Potencia > "& CLng(potencia1)-10 &") AND (Potencia < "& CLng(potencia2)+10 &") ORDER BY Marca, Precio DESC;"

dime
  #9 (permalink)  
Antiguo 04/03/2005, 12:51
Avatar de dabadubab  
Fecha de Ingreso: febrero-2005
Ubicación: Sant Hiuston
Mensajes: 157
Antigüedad: 19 años, 3 meses
Puntos: 0
la semana que viene...
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 23:32.