Sean los números que muestran el SQL de las palabras
C:/Users/bobo/AppData/Local/YNote/data/qq1BD99A3C386BF33BC41A3E78A77E7734/2698c116efe5423980e1e1395409b41c/i%5B35%7Exc2qdob.png Usar operaciones con trinoculares está bien
C:/Users/bobo/AppData/Local/YNote/data/qq1BD99A3C386BF33BC41A3E78A77E7734/5f6a2d9db0bd43acbef159186eabfd51/6ihqynhx_z89.png También se puede escribir SQL select *, Grupo de casos cuando 1 y luego N'Grupo 1' cuando 2 y luego N'Grupo 2' cuando 3 y luego N'Grupo 3' else N'desconocido' nombre final del grupo de @stuinfo =========== Este tema es SQL seleccione a.EstándarId, a.TipoEstándar, caso EstadoEstándar cuando 1 entonces N'void' cuando 2 entonces N'Actualmente válido' cuando 3 entonces N'debe implementarse'"; si no, nombre final N'desconocido, a.TítuloEstándar, Fecha de Implementación, Fecha de Lanzamiento de OATestStandard a
Dirección de aprendizaje SQL https://www.cnblogs.com/4littleProgrammer/p/4820006.html
Ya casi es hora de salir del trabajo, así que tómate un tiempo para resumir el uso de SQL en los casos.
El papel de CASE en SQL:Una expresión utilizada para calcular una lista de condiciones y devuelve uno de los posibles resultados.El tipo de caso de SQL es If-Esle If-Else o Switch en lenguajes de programación, pero no se utiliza para controlar el proceso de ejecución de programas SQL, sino como funcióncolumnaUso lógico.
Sintaxis:
caso [input_expression]
Cuando when_expression entonces result_expression
[... n]
[si no, else_result_expression]
fin
Nota: [] es opcional.
Preparar los datos de la prueba:
1
2
3
4
5
6
7
8
9
10
11
12
| declarar@stuinfoTabla
(idint,
Sname Nvarchar(20),
GéneroVarchar(1),
Sgroupint)
insertar en@stuinfo
escoger 1,'Zhang San','M',1Unión todo
escoger 2,'Li Si','f',1Unión todo
escoger 3,'Wang Wu','f',2Unión todo
escoger 4,'Zhao Liu','M',3Unión todo
escoger 5,'Siete amarillos','M',3
|
1. Añadir una expresión después del caso
Devuelve en función del resultado de la expresión.
1
2
3
4
5
6
7
| escoger*,
CasoSgroup
cuando 1 entoncesN'Grupo 1'
cuando 2 entoncesN'Grupo 2'
cuando 3 entoncesN'Grupo 3'
si no,N'Desconocido' finNombre del grupo
De@stuinfo
|
2. No hay expresión después del caso
Sin una expresión, se devuelve según la condición de cuándo.
| escoger*,
Caso
cuandogrupo = 1ygénero ='M' entoncesN'El primer grupo de chicos'
cuandogrupo = 1ygénero ='f' entoncesN'Primer grupo de chicas'
cuandoSgroup = 2ygénero ='M' entoncesN'El segundo grupo de chicos'
cuandoSgroup = 2ygénero ='f' entoncesN'El segundo grupo de chicas'
cuandoSgroup = 3ygénero ='M' entoncesN'El tercer grupo de chicos'
cuandoSgroup = 3ygénero ='f' entoncesN'El tercer grupo de chicas'
si no,N'Desconocido' finComentario
De@stuinfo
|
3. Para ordenar por
Si el procedimiento almacenado necesita soportar múltiples ordenaciones, puedes pasar una variable de parámetro y luego juzgar en función de esa variable.
1
2
3
4
5
6
7
| declarar@orderbyint
Set@orderby = 1
escoger * De@stuinfo
Orden por
Caso cuando@orderby = 1entoncesidentificaciónfin desc,
Caso cuando@orderby = 2entoncesidentificaciónfin
|
Usa varios casos aquí, porque desc debe colocarse después de que termine, de lo contrario habrá errores de sintaxis.
4. Ejemplo:
selecciona a.ApplyId, a.Code, a.CostoId, a.NombreElementoCosto, a.FechaCreadora, a.IdUsuarioCreato, A.EquipoCategroyId, a.Flag, a.FlowTime, a.Nombre, a.ParentId, a.PassingUserId, a. PasandoUsuariosIds, a.PasandoNombres de Usuario, a.ProyectId, a.Observación, a.Especificación, a.Unidad, b.*, c.Código como CódigoPadre, c.Name como NombrePadre,Casoun.ImportFlag cuando 0entonces 'No importado'cuando1 entonces 'Importado' fincomoImportFlagde EquipamientoCategoríaSolicitar como
inner join ProjectViewForJoin como b en a.ProjectId = b.ProjectIdForJoin
unión interior EquipamientoCategoríaEquipamientoEquipamientoIdentificada como c en a.ParentId = c.EquipaCategoríaId
|