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

2 consultas SQL en una - mayor velocidad

Estas en el tema de 2 consultas SQL en una - mayor velocidad en el foro de ASP Clásico en Foros del Web. Hola Tengo una tabla de pedidos y he de volver a ella para saber si estamos en el primer pedido o en el segundo ... ...
  #1 (permalink)  
Antiguo 20/02/2012, 07:07
 
Fecha de Ingreso: junio-2010
Mensajes: 60
Antigüedad: 14 años, 5 meses
Puntos: 1
2 consultas SQL en una - mayor velocidad

Hola

Tengo una tabla de pedidos y he de volver a ella para saber si estamos en el primer pedido o en el segundo ... etc.

En access funciona rapido en MS-SQL lentisimo. El problema es que ataco 2 veces a la base de datos rs1 y rs2. Se cual es el problema pero no como se soluciona


Alguien me puede decir como juntar ambas consultas en 1?
creo que sería la sulución. muchas gracias



''' EN LA TABLA FACTURAS RECORRO TODA LA TABLA
Set rs1 = ConData.Execute("Select * From Tabla_Facturas ")
Do While Not rs1.EOF

Response.Write " | " & rs2("Factura_Numero")
Response.Write " | " & rs2("Factura_Codigo_Cliente")
Response.Write " | " & rs2("Factura_Importe")
Response.Write " | " & rs2("Factura_Nombre_Comercial")



''' VUELVO A LA TABLA FACTURAS PARA BUSCAR FACTURAS ANTERIORES EN LA QUE ESTAMOS EN ESTE MOMENTO
ssqlrs2 = "Select distinct Factura_Numero From Tabla_Facturas Where Factura_Codigo_Cliente = '"&rs1("Factura_Codigo_Cliente")&"' And Factura_Numero <> '"&rs1("Factura_Numero")&"' And orderid < "&rs1("orderid")
Set rs2 = Server.CreateObject("adodb.RecordSet")
rs2.Open ssqlrs2,ConData,3,3
If Not rs2.EOF Then
''' HA HABIDO MAS FACTURAS ANTERIORMENTE
ComisionPorCiento = "5%"
Else
''' ES LA PRIMERA FACTURA A ESTE CLIENTE
ComisionPorCiento = "10%"
End If
rs2.Close
Set rs2 = Nothing


Response.Write " LA COMISION DE VENTA PARA EL COMERCIAL ES DEL: " & ComisionPorCiento

rs1.MoveNext
Loop
rs1.Close
Set rs1 = Nothing

Etiquetas: mayor, recordset, server, sql, tabla, velocidad
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 10:22.