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

2 consultas SQL en una - mayor velocidad

Estas en el tema de 2 consultas SQL en una - mayor velocidad en el foro de SQL Server 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:08
 
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 25/02/2012, 15:31
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: 2 consultas SQL en una - mayor velocidad

Código SQL:
Ver original
  1. SELECT DISTINCT f.Factura_Numero
  2. FROM Tabla_Facturas f
  3. LEFT JOIN Tabla_Facturas f2 ON f.Factura_Codigo_Cliente=f2.Factura_Codigo_Cliente
  4.     AND NOT f.Factura_Numero=f2.Factura_Numero AND f.orderid<f2.orderid
  5. WHERE f2.Factura_Numero IS NOT NULL
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.

Etiquetas: mayor, select, 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 13:47.