Привет, просто скопируйте и вставьте этот код, и он будет работать нормально. Просто проверьте, измените ли имя таблицы относительно того, что у вас есть в вашей базе данных. Пожалуйста, не забудьте проголосовать, если это поможет. Спасибо!
declare @tableName varchar(100)
declare @tableFieldId varchar(100)
set @tableName = 'tbl_Attendance'
set @tableFieldId = 'EmployeeCode'
------------- no need to edit from here -----------------------
declare @sql nvarchar(Max)
declare @Present nvarchar(Max)
declare @Absent nvarchar(Max)
Set @sql = 'Select ' + @tableFieldId + ''
set @Present = ''
set @Absent = ''
select
@Present = @Present + ' case when ' + syscolumns.[name] + ' = ''P'' then 1 else 0 end + ' + char(10) + char(13),
@Absent = @Absent + ' case when ' + syscolumns.[name] + ' = ''A'' then 1 else 0 end + ' + char(10) + char(13)
from sysobjects inner join syscolumns on sysobjects.id = syscolumns.id
where sysobjects.[name] = @tableName
-- remove last +
set @Present = lefT( @Present, len(@Present) - 4) + char(10) + char(13)
set @Absent= lefT( @Absent, len(@Absent) - 4) + char(10) + char(13)
set @sql = @sql + ', Present =' + @Present + ', Absent =' + @Absent +
'from ' + @tableName + char(10) + char(13)
exec sp_executesql @sql