Tengo una instrucción SQL que tiene un CASEfrom SELECTy simplemente no puedo hacerlo bien. ¿Pueden mostrarme un ejemplo de CASEdónde están las condiciones y los resultados de los casos? Por ejemplo:
Select xxx, yyy
case : desc case when bbb then 'blackberry';
when sss then 'samsung';
end
from (select ???? .....
donde muestran los resultados
name age handphone
xxx1 yyy1 blackberry
xxx2 yyy2 blackberry
sql
sql-server
case
fadzli feizal
fuente
fuente

Respuestas:
El MSDN es una buena referencia para este tipo de preguntas sobre sintaxis y uso. Esto es de la Referencia de Transact SQL - página CASE.
http://msdn.microsoft.com/en-us/library/ms181765.aspx
Otro buen sitio que puede consultar si está utilizando SQL Server es SQL Server Central . Esto tiene una gran variedad de recursos disponibles para cualquier área de SQL Server que le gustaría aprender.
fuente
Creo que esto podría ser útil para ti.
Usando una
SELECTdeclaración con unaCASEexpresión simpleDentro de una
SELECTdeclaración, unaCASEexpresión simple permite solo una verificación de igualdad; No se hacen otras comparaciones. El siguiente ejemplo utiliza laCASEexpresión para cambiar la visualización de las categorías de línea de productos para que sean más comprensibles.Usar una
SELECTdeclaración con unaCASEexpresión buscadaDentro de una
SELECTdeclaración, laCASEexpresión buscada permite que los valores se reemplacen en el conjunto de resultados en función de los valores de comparación. El siguiente ejemplo muestra el precio de lista como un comentario de texto basado en el rango de precios de un producto.Usando
CASEen unaORDER BYcláusulaLos siguientes ejemplos utilizan la
CASEexpresión en unaORDER BYcláusula para determinar el orden de clasificación de las filas en función de un valor de columna dado. En el primer ejemplo, se evalúa el valor en la columna SalariedFlag de la tabla HumanResources.Employee. BusinessEntityID devuelve a los empleados que tienen el SalariedFlag establecido en 1 en orden descendente. BusinessEntityID devuelve a los empleados que tienen el SalariedFlag establecido en 0 en orden ascendente. En el segundo ejemplo, el conjunto de resultados está ordenado por la columna TerritoryName cuando la columna CountryRegionName es igual a 'Estados Unidos' y por CountryRegionName para todas las demás filas.Usando
CASEen unaUPDATEdeclaraciónEl siguiente ejemplo utiliza la
CASEexpresión en unaUPDATEinstrucción para determinar el valor que se establece para la columna VacationHours para empleados con SalariedFlag establecido en 0. Cuando restar 10 horas de VacationHours resulta en un valor negativo, VacationHours se incrementa en 40 horas; de lo contrario, VacationHours se incrementa en 20 horas. LaOUTPUTcláusula se utiliza para mostrar los valores de vacaciones antes y después.Usando
CASEen unaHAVINGcláusulaEl siguiente ejemplo usa la
CASEexpresión en unaHAVINGcláusula para restringir las filas devueltas por laSELECTinstrucción. La declaración devuelve la tarifa máxima por hora para cada título de trabajo en la tabla HumanResources.Employee. LaHAVINGcláusula restringe los títulos a los que tienen los hombres con una tasa de pago máxima superior a 40 dólares o las mujeres con una tasa de pago máxima superior a 42 dólares.Para obtener más detalles sobre la descripción de este ejemplo, visite la fuente .
También visite aquí y aquí para ver algunos ejemplos con excelentes detalles.
fuente
también puedes usar:
fuente