Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/02/2012, 07:09
jorge1644
 
Fecha de Ingreso: junio-2010
Mensajes: 60
Antigüedad: 13 años, 10 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