¿Hay alguna forma en la que podamos especificar valores para una declaración de caso? La declaración de abajo no se ejecuta porque piensa que 53,57,82,83, etc. son columnas. ¿Hay algún problema ... busqué en Google, pero no encontré nada que diga que no se puede usar IN-when expression ...TSQL - Caso - ¿Valores en?
select
x =
case
when xvalue in ([52],[57],[82],[83])
then "xvalue"
when yvalue in ([01],[02],[11])
then "yvalue"
else
'NULL'
end
from xyztable
¿Para qué versión de SQL Server, o es esto para Sybase? –
La razón por la que utilicé los paréntesis es ... cuando uso la misma entrada IN en las tablas dinámicas ... MSDN me dice que use esto ... SELECT 'AverageCost' AS Cost_Sorted_By_Production_Days, [0], [1], [2], [3], [4] DE (SELECT DaysToManufacture, StandardCost DE Production.Product) AS SourceTable PIVOT ( AVG (StandardCost) FOR DaysToManufacture IN ([0], [1], [2], [3], [4]) ) AS tabla dinámica; –
Esto es un poco antiguo, pero ... está usando corchetes con la tabla dinámica porque efectivamente está creando alias columnas con la instrucción IN – Pork