Sejam os números que mostrem o SQL das palavras
C:/Users/bobo/AppData/Local/YNote/data/qq1BD99A3C386BF33BC41A3E78A77E7734/2698c116efe5423980e1e1395409b41c/i%5B35%7Exc2qdob.png Usar cirurgias com trinocular é aceitável
C:/Users/bobo/AppData/Local/YNote/data/qq1BD99A3C386BF33BC41A3E78A77E7734/5f6a2d9db0bd43acbef159186eabfd51/6ihqynhx_z89.png SQL também pode ser escrito select *, Grupo de casos quando 1 então N'Grupo 1' quando 2 então N'Grupo 2' quando 3 então N'Grupo 3' else N'desconhecido' nome final do grupo de @stuinfo =========== Este tópico é SQL select a.StandardId,a.StandardType, caso StandardStatus quando 1 então N'void' quando 2 e depois N'Atualmente Válido' quando 3 então N'a ser implementado'"; else N'desconhecido' nome final do grupo, a.PadrãoTítulo, a.DataImplementação, a.Data de Lançamento do OATestStandard a
Endereço de aprendizado SQL https://www.cnblogs.com/4littleProgrammer/p/4820006.html
Está quase na hora de sair do trabalho, então reserve um tempo para resumir o uso do SQL por caso.
O papel do CASE em SQL:Uma expressão usada para calcular uma lista de condições e retorna um dos possíveis resultados.O tipo de caso do SQL é If-Esle If-Else ou Switch em linguagens de programação, mas não é usado para controlar o processo de execução de programas SQL, e sim como uma funçãocolunauso lógico.
Sintaxe:
caso [input_expression]
Quando when_expression então result_expression
[... n]
[mais else_result_expression]
fim
Nota: [] é opcional.
Prepare os dados do teste:
1
2
3
4
5
6
7
8
9
10
11
12
| declarar@stuinfoTabela
(idint,
Sname Nvarchar(20),
GêneroVarchar(1),
Sgroupint)
Inserir em@stuinfo
selecionar 1,'Zhang San','m',1União todos
selecionar 2,'Li Si','f',1União todos
selecionar 3,'Wang Wu','f',2União todos
selecionar 4,'Zhao Liu','m',3União todos
selecionar 5,'Sete Amarelo','m',3
|
1. Adicionar uma expressão após o caso
Retorna com base no resultado da expressão.
1
2
3
4
5
6
7
| selecionar*,
CasoSgroup
quando 1 entãoN'Grupo 1'
quando 2 entãoN'Grupo 2'
quando 3 entãoN'Grupo 3'
senãoN'Desconhecido' fimNome do grupo
De@stuinfo
|
2. Sem expressão após o caso
Sem uma expressão, ela é retornada de acordo com a condição de quando.
| selecionar*,
Caso
quandoSgroup = 1egênero ='m' entãoN'O primeiro grupo de meninos'
quandoSgroup = 1egênero ='f' entãoN'Primeiro grupo de meninas'
quandogrupo = 2egênero ='m' entãoN'O segundo grupo de meninos'
quandogrupo = 2egênero ='f' entãoN'O segundo grupo de meninas'
quandoSgroup = 3egênero ='m' entãoN'O terceiro grupo de meninos'
quandoSgroup = 3egênero ='f' entãoN'O terceiro grupo de meninas'
senãoN'Desconhecido' fimcomentário
De@stuinfo
|
3. Para ordenação por
Se o procedimento armazenado precisar suportar múltiplas ordenações, você pode passar uma variável de parâmetro e então julgar com base nessa variável.
1
2
3
4
5
6
7
| declarar@orderbyint
Conjunto@orderby = 1
selecionar * De@stuinfo
Ordem por
Caso quando@orderby = 1entãoidfim desc,
Caso quando@orderby = 2entãoidfim
|
Use vários casos aqui, porque o desc precisa ser colocado após o fim, caso contrário haverá erros de sintaxe.
4. Exemplo:
selecione a.ApplyId,a.Code,a.CostoId,a.NomeItemCusto,a.DataDeCriado,A.UsuárioIdCriado,A.EquipamentoCategroyId,A.Flag,A.FlowTime,A.Nome,PaiIde,A.UsuárioIdPassing,a. PassingUserIds, a.PassingUserNames, a.ProjectId,a.Remark,a.Spec,a.Unit, b.*, c.Code como PaiCode, c.Name como PaiName,Casoum.ImportFlag quando 0então 'Não importado'quando1 então 'Importado' fimcomoImportFlagde EquipamentoCategoriaCandidate-se como um
inner join ProjectViewForJoin como b em a.ProjectId = b.ProjectIdForJoin
junção interna EquipamentoEquipamentoCategoria como c em a.ParentId = c.EquipmentCategoryId
|