Foros del Web » Programando para Internet » ASPX (.net) »

2 consultas SQL en una - mayor velocidad

Estas en el tema de 2 consultas SQL en una - mayor velocidad en el foro de ASPX (.net) 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:09
 
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
  #2 (permalink)  
Antiguo 29/03/2012, 08:12
 
Fecha de Ingreso: marzo-2012
Mensajes: 2
Antigüedad: 12 años
Puntos: 0
Respuesta: 2 consultas SQL en una - mayor velocidad

Disculpa no me queda muy claro lo que deseas hacer pero creo que puedes simplificar mucho si creas un procedimiento almacenado en el server que te indique la cantidad de facturas que tienes dado un parametro, supongo el cliente o el vendedor o ambos un cliente esoecifico y un vendedor determinado


SELECT COUNT(*)
FROM Facturas
WHERE ClienteID = @parametro1 AND VendedorId = @parametro2

Eso te diria si tienes ya una factura, sin necesidad de sobrecargar

Etiquetas: mayor, sql, 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 14:51.