Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/01/2011, 15:56
th3r0rn
 
Fecha de Ingreso: noviembre-2007
Mensajes: 504
Antigüedad: 17 años, 1 mes
Puntos: 2
Como puedo optimizar mi consulta

Hola, disculpen, quiero saber como puedo hacer mi siguiente procedimiento en una sola consulta, es decir, aki lo que hago primero es seleccionar, despues lo guardo en una DB temporal y posteriormente hago otro select en el cual consulto los datos y hago un cout.

El asunto aki es que esto es un procedimiento muy largo, y se que esto podria hacerse en una sola consulta sin necesidad de usar tablas temporales, es decir incluir el count en una misma consulta y mostrar todo pero simplemente no me quiere salir.
Quiero ver si me pueden ayudar un pokito.
Saludos

Código SQL:
Ver original
  1. ALTER PROCEDURE [dbo].[monitor]
  2. @fecha datetime,
  3. @linea nvarchar(5),
  4. @hora nvarchar(15) AS
  5. BEGIN
  6.     SET Nocount ON
  7.  
  8.     SELECT h.hora AS hora1,h.marca,h.codoptima AS codoptimaT,h.target,h.fecha AS     hfecha,P.CODOPTIMA,O.CODIGO,p.hora,p.peso,p.vaso,p.fecha,o.linea
  9.     INTO #temporal1
  10.     FROM optimas AS o
  11.     INNER JOIN pesos AS p ON o.codigo = p.codoptima
  12.     INNER JOIN htargets AS h ON o.codigo = h.codoptima
  13.     WHERE o.linea = @linea
  14.     AND p.fecha >= @fecha AND h.fecha >= @fecha
  15.     AND p.hora = @hora AND h.hora = @hora
  16.  
  17.     SELECT TOP 1 *,(SELECT COUNT(1)total FROM #temporal1) AS totality FROM #temporal1
  18.  
  19. END