Tengo una instrucción SQL que tiene un CASE
from SELECT
y simplemente no puedo hacerlo bien. ¿Pueden mostrarme un ejemplo de CASE
dó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
SELECT
declaración con unaCASE
expresión simpleDentro de una
SELECT
declaración, unaCASE
expresión simple permite solo una verificación de igualdad; No se hacen otras comparaciones. El siguiente ejemplo utiliza laCASE
expresión para cambiar la visualización de las categorías de línea de productos para que sean más comprensibles.Usar una
SELECT
declaración con unaCASE
expresión buscadaDentro de una
SELECT
declaración, laCASE
expresió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
CASE
en unaORDER BY
cláusulaLos siguientes ejemplos utilizan la
CASE
expresión en unaORDER BY
clá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
CASE
en unaUPDATE
declaraciónEl siguiente ejemplo utiliza la
CASE
expresión en unaUPDATE
instrucció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. LaOUTPUT
cláusula se utiliza para mostrar los valores de vacaciones antes y después.Usando
CASE
en unaHAVING
cláusulaEl siguiente ejemplo usa la
CASE
expresión en unaHAVING
cláusula para restringir las filas devueltas por laSELECT
instrucción. La declaración devuelve la tarifa máxima por hora para cada título de trabajo en la tabla HumanResources.Employee. LaHAVING
clá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