SQL Server - Procedimiento almacenado SQL SERVER 2008 count

 
Vista:

Procedimiento almacenado SQL SERVER 2008 count

Publicado por Luis (1 intervención) el 23/11/2017 02:56:16
Quiero realizar el siguiente procedimiento almacenado

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
alter proc calculaasistencia
@tra_dni varchar(8)='',
@asi_tra_nom varChar(60)='',
@asi_tra_ape varchar(50)='',
@dmes varchar (7)='',
@aaño varchar (4)=''
as
select
	tra_dni as DNI,
	asi_tra_nom as Nombre,
	asi_tra_ape as Apellido,
	@dmes as Días_de_trabajo,
	COUNT(asi_tra_fas) as Dias_asistidos,
	(@dmes-COUNT(asi_tra_fas)) as  Faltas,
	count(asi_tra_est),
	convert(int,(sum(convert(numeric(9,0),(asi_tra_min)))))/60 as Horas_tarde,
	convert(int,(sum(convert(numeric(9,0),(asi_tra_min)))))%60 as Minutos_tarde
	from asistencia
	where YEAR(asi_tra_fas)=@aaño
	group by tra_dni,asi_tra_nom,asi_tra_ape
El procedimiento funciona bien, pero lo que yo quiero es que en

count(asi_tra_est), solo lo cuente los campos con el texto 'tardanza'.

Les agradecería mucho su ayuda!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Procedimiento almacenado SQL SERVER 2008 count

Publicado por Franklin Gamboa (8 intervenciones) el 23/11/2017 04:33:59
Puedes hacer algo como esto:

sum(case when asi_tra_est = 'tardanza' then 1 else 0 end)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar