Hola buenas tardes amigos,
Tengo una consulta bastante grande, en la que varios campos los tengo con CASE (Ejemplo):
[CODE]
SELECT
CASE CAST(SUBSTRING(DES_ATEXPL, 1943, 10) AS INT)
WHEN 0 THEN CAST(0 AS CHAR(1))
WHEN 6020 THEN CAST(1 AS CHAR(1))
WHEN 12030 THEN CAST(2 AS CHAR(1))
WHEN 18040 THEN CAST(3 AS CHAR(1))
WHEN 24050 THEN CAST(4 AS CHAR(1))
WHEN 30060 THEN CAST(5 AS CHAR(1))
ELSE CAST(0 AS CHAR(1))
END AS T_ASISTENCIA_SANITARIA
,
CASE ISNUMERIC(SUBSTRING(DES_ATEXPL, 151, 12))
WHEN 0 THEN CAST(NULL AS SMALLINT)
ELSE CAST(SUBSTRING(DES_ATEXPL, 151, 12) AS SMALLINT)
END AS DURACION_SEGURO
,
CASE SUBSTRING(DES_ATEXPL, 235, 1)
WHEN 'A' THEN 'ANUAL'
WHEN 'S' THEN 'SEMESTRAL'
WHEN 'T' THEN 'TRIMESTRAL'
ELSE NULL
END AS FORMA_PAGO
[CODE]
Y queria preguntar a los expertos que conozcan bien SQL Server si me pueden decir si seria más optimo meter estos resultados previamente en una TTemporal y luego hacer un update de dichos valores con una sentencia o si es mejor dejarlo asi.
Gracias.