top y distinct

15/06/2009 - 19:38 por Alhambra Eidos Desarrollo | Informe spam
hola a todos,

tengo una consulta en un procedimiento almacenado, como muestro a
continuación, que hace uso de distinct.

Por temas de rendimiento, quisiera utilizar select top 1000, pero con
distinct no he conseguido nada, alguna ayuda ??

Utilizo sql 2005 express con compatibilidad 2000 (sql 2000)

Alguna sugerencia de rendimiento además, o implementar una paginación
efectiva, pero vamos lo importante es unir el select top 1000 con el select
distinct

muchas gracias

ALTER PROCEDURE [dbo].[bck_PA_ObtenerOperacionesPorCriterios]
( @IdEntidad as varchar(2), @WhereFiltro as varchar(4000) )
AS
DECLARE @sql NVARCHAR(4000)

SELECT @sql '
SELECT
distinct ot.CODIGO As NumeroOperacion
, ot.id As IdOperacion
, ot.numeroprestamo As NumeroPrestamo
, ot.FechaCreacion As FechaCreacion

FROM ORDENESDETRABAJO ot
LEFT JOIN EXPEDIENTES exped ON exped.idordentrabajo = ot.id
AND (exped.FECHAFIN = ''40000101'') AND (OT.FECHAFIN = ''40000101'')
AND (exped.notramita=0 OR exped.notramita is null)
LEFT JOIN INTERVINIENTES inter ON inter.idordentrabajo = ot.id and
inter.fechafin = ''4000-01-01''
WHERE
( ot.fechafin = ''40000101''
and (ot.sintramitaprevia = 0 or ot.sinTramitaPrevia is null)
)
IF (@WhereFiltro IS NOT NULL AND @WhereFiltro <> '')
BEGIN
SELECT @sql = @sql + ' ' + @WhereFiltro
END

SELECT @sql = @sql + ' AND ot.codigo like ''OP' + @IdEntidad + '%'''

PRINT @WhereFiltro
PRINT @sql
EXEC (@sql)

http://www.alhambra-eidos.es/web2005/index.html
www.kiquenet.com/churrosoft
http://www.setbb.com/putainformatic...opic.php?p„3
www.trabajobasura.com/solusoft
 

Leer las respuestas

#1 Penta
16/06/2009 - 01:28 | Informe spam
Porque usas el DISTINCT ?? no será que te falta alguno campo cuando
haces el join ??

Saludos.
PENTA.

Preguntas similares