Я написал этот запрос, и он предназначен для отправки клиенту электронного письма с информацией в базе данных. Мне бы хотелось, чтобы он проверил любые значения, которые возвращаются как 0, а не отправлял их в @message. Я полагаю, что мне нужно заявление if, но я не смог понять, как заставить его работать. Любая помощь приветствуется.
Запрос:
select @AssignedCount = (select COUNT(*)
FROM event
where status_name = 'ASSIGNED' AND primary_unitid = NULL
OR status_name = 'ASSIGNED' AND primary_unitid = '')
select @UnitResource = (select COUNT (*)
from unit_resources
where unit_seqnum NOT IN (select unit_seqnum from unit))
select @UnitEmployee = (select COUNT (*)
from unit_employees
where unit_seqnum NOT IN (select unit_seqnum from unit))
select @LoggedOff = (select COUNT(*)
from unit
where status_name = 'LOGGED_OFF')
select @Duplicates = (SELECT ISNULL(
(select COUNT(*)
from unit
group by unitid
having COUNT(*) > 1), 0))
select @message =
'Status Report' +
' Events in assigned status with no primary unit: '
+ REPLACE((str(@AssignedCount)),' ','') +
' Un-linked unit resource table rows: '
+ REPLACE((str(@UnitResource)),' ','') +
' Un-linked Unit resource table rows: '
+ REPLACE((str(@UnitEmployee)),' ','') +
' Units with a status of Logged Off: '
+ REPLACE((str(@LoggedOff)),' ','') +
' Duplicate Units: '
+ REPLACE((str(@Duplicates)),' ','')`