Ver Mensaje Individual
  #4 (permalink)  
Antiguo 19/04/2018, 10:26
tattojk
 
Fecha de Ingreso: febrero-2005
Mensajes: 673
Antigüedad: 19 años, 9 meses
Puntos: 2
Respuesta: retornar dos variables del case sql server

Cordial saludo.

Gracias por sus rapidas respuestas, esa consulta ya esta en un procedimiento almacenado; y se hace masivo; son mas o menos 60000 registros, entonces la idea es dejarlo en un solo select para que sea mas rapido el proceso.

El caso de Libras lo he utilizado concatenando las dos variables del select y separandolas en el select; me imagino que esta operacion consume mas recursos...

Código:
declare @fechhoy smalldatetime
declare @ConCuo int 
declare @ultcuopag int 
set @fechhoy = '2018-04-19'
set @ConCuo = 1
set @ultcuopag = 8

select 
	vic.crenumero
	, vic.crefechgeneinte
	, RTRIM(SUBSTRING(cuofec,1,CHARINDEX(',', cuofec)-1)) AS UltCuoVen
	, RTRIM(SUBSTRING(cuofec, CHARINDEX(',', cuofec)+1, LEN(cuofec))) AS UltFecVen
from 
	vistintecorr as vic
outer apply(
	select(
		case
			when @ConCuo > 0
			then(
				select 
					convert(varchar(2),pp4.ppcuota)+ ','+ convert(varchar(19),pp4.ppfecha,121) as cuofec
				from 
					planpago as pp4
				where 
					pp4.crenumero = vic.crenumero 
					and pp4.ppfecha <= @fechhoy
					AND pp4.ppcuota = @ultcuopag
			)
		end
	) as cuofec
) as pp3
WHERE
	(vic.crenumero % 2) = 0
order by 
	vic.crenumero ASC
	, vic.crefechgeneinte
Esto es optimo para consultas de mas de 50000 registros??