Eu tenho uma instrução SQL que tem um CASE
from SELECT
e eu simplesmente não consigo acertar. Vocês podem me mostrar um exemplo de CASE
onde os casos são as condições e os resultados deles? Por exemplo:
Select xxx, yyy
case : desc case when bbb then 'blackberry';
when sss then 'samsung';
end
from (select ???? .....
onde os resultados mostram
name age handphone
xxx1 yyy1 blackberry
xxx2 yyy2 blackberry
sql
sql-server
case
fadzli feizal
fonte
fonte
Respostas:
O MSDN é uma boa referência para esse tipo de perguntas sobre sintaxe e uso. Isto é da página Transact SQL Reference - CASE.
http://msdn.microsoft.com/en-us/library/ms181765.aspx
Outro site bom que você pode conferir se estiver usando o SQL Server é o SQL Server Central . Isso tem uma grande variedade de recursos disponíveis para qualquer área do SQL Server que você gostaria de aprender.
fonte
Eu acho que isso pode ser útil para você.
Usando uma
SELECT
declaração com um simplesCASE
expressãoDentro de uma
SELECT
declaração, umaCASE
expressão simples permite apenas uma verificação de igualdade; nenhuma outra comparação é feita. O exemplo a seguir usa aCASE
expressão para alterar a exibição das categorias de linha de produtos para torná-las mais compreensíveis.Usando uma
SELECT
instrução com umaCASE
expressão pesquisadaDentro de uma
SELECT
instrução, aCASE
expressão pesquisada permite que os valores sejam substituídos no conjunto de resultados com base nos valores de comparação. O exemplo a seguir exibe o preço de tabela como um comentário de texto com base na faixa de preço de um produto.Usando
CASE
em umaORDER BY
cláusulaOs exemplos a seguir usam a
CASE
expressão em umaORDER BY
cláusula para determinar a ordem de classificação das linhas com base em um determinado valor da coluna. No primeiro exemplo, o valor na coluna SalariedFlag da tabela HumanResources.Employee é avaliado. Os funcionários com SalariedFlag definido como 1 são retornados pelo BusinessEntityID em ordem decrescente. Os funcionários com SalariedFlag definido como 0 são retornados pelo BusinessEntityID em ordem crescente. No segundo exemplo, o conjunto de resultados é ordenado pela coluna TerritoryName quando a coluna CountryRegionName é igual a 'United States' e por CountryRegionName para todas as outras linhas.Usando
CASE
em umaUPDATE
declaraçãoO exemplo a seguir usa a
CASE
expressão em umaUPDATE
instrução para determinar o valor definido para a coluna VacationHours para funcionários com SalariedFlag definido como 0. Ao subtrair 10 horas de VacationHours resulta em um valor negativo, VacationHours é aumentado em 40 horas; caso contrário, o VacationHours é aumentado em 20 horas. AOUTPUT
cláusula é usada para exibir os valores de férias antes e depois.Usando
CASE
em umaHAVING
cláusulaO exemplo a seguir usa a
CASE
expressão em umaHAVING
cláusula para restringir as linhas retornadas pelaSELECT
instrução A instrução retorna a taxa horária máxima para cada cargo na tabela HumanResources.Employee. AHAVING
cláusula restringe os títulos àqueles mantidos por homens com uma taxa de remuneração máxima superior a 40 dólares ou por mulheres com uma taxa de remuneração máxima superior a 42 dólares.Para uma descrição mais detalhada desses exemplos, visite a fonte .
Visite também aqui e aqui para alguns exemplos com ótimos detalhes.
fonte
você também pode usar:
fonte