Скрипт для каждого зарегистрированного датчика подсчитывает количество срабатываний (и общее количество координат)
с указанной даты по текущий момент. Далее в таблице отмечаются строки, когда датчик срабатывал столько же раз, сколько собрано координат, или не срабатывал ни разу
Code
set dateformat dmy
use bn
declare @sdate datetime
select @sdate='01/08/2012' -- дата начала проверки
use bn
SELECT TOP 1000 org.ShortName
,o.ObjectGarNum,o.ObjectGosNum
,s.[num]
,[description]
,d.code
,co.count
,con.count
FROM [BN].[dbo].[SYS_DEV_Sensor] AS S
inner join dbo.SYS_DEV_Device as D on d.id=s.device_id
inner join dbo.FLEET_Object as O on o.Device_ID=s.device_id
left join dbo.SYS_OrgRequisite as Org on Org.id=O.OrganizationId
left join
(select ObjectID, count(*) [count] from dbo.SYS_DEV_ArchiveData as AD
where tele_time>=@sdate
group by ObjectID) as co on co.ObjectID=O.ObjectID
left join (select ObjectID,s.num, count(*) [count] from dbo.SYS_DEV_ArchiveData as AD
inner join [BN].[dbo].[SYS_DEV_Sensor] AS S on S.device_id=AD.device_id and s.[SensorActive]=1 -- включен
and s.[sensor_type_id]=1 -- цифровой
where ad.tele_time>=@sdate and dbo.FLEET_IsSensorActive (s.num, ad.Digit_Sens_Num, ad.Flags)=1
group by ObjectID,s.num) as con on con.ObjectID=O.ObjectID and con.num=s.num
where s.[SensorActive]=1 -- датчик включен
and s.[sensor_type_id]=1 -- датчик цифровой
and d.deviceactive=1 -- прибор не удален
--and o.ObjectGarNum like '%366%'
and ((con.count is null and co.count is not null) or (con.count = co.count))
and s.num<=8 -- только реальные датчики (для GLX )
order by org.ShortName,o.ObjectGarNum,s.num