Slightly modified "FullScanTime per asset" report by adding an asset type field.
Select Top 1000000 SubQuery2.AssetID,
SubQuery2.AssetName,
SubQuery2.Domain,
SubQuery2.IPAddress,
SubQuery2.[Asset Type],
SubQuery2.icon,
SubQuery2.Scanserver,
SubQuery2.ServiceVersion,
Case
When SubQuery2.HOURS > 0 And SubQuery2.MINUTES > 0 And SubQuery2.SECONDS >=
0 And Right(SubQuery2.FullScanTime, 2) >= 0 Then Format(SubQuery2.HOURS,
'##') + ' hour(s) ' + Format(SubQuery2.MINUTES, '##') + ' minute(s) ' +
'0' + Right(SubQuery2.FullScanTime, 3) + ' second(s)'
When SubQuery2.HOURS > 0 Then Format(SubQuery2.HOURS, '##') + ' hour(s) ' +
Format(SubQuery2.MINUTES, '##') + ' minute(s) ' +
Format(SubQuery2.SECONDS, '##') + Right(SubQuery2.FullScanTime, 3) +
' second(s)'
When SubQuery2.MINUTES > 0 And SubQuery2.SECONDS = 0 And
Right(SubQuery2.FullScanTime, 2) > 0 Then Format(SubQuery2.MINUTES,
'##') + ' minute(s) ' + '0' + Right(SubQuery2.FullScanTime, 3) +
' second(s)'
When SubQuery2.MINUTES > 0 Then Format(SubQuery2.MINUTES, '##') +
' minute(s) ' + Format(SubQuery2.SECONDS, '##') +
Right(SubQuery2.FullScanTime, 3) + ' second(s)'
When SubQuery2.SECONDS > 0 Then Format(SubQuery2.SECONDS, '##') +
Right(SubQuery2.FullScanTime, 3) + ' second(s)'
Else '0' + Right(SubQuery2.FullScanTime, 3) + ' second(s)'
End As FullScanTime,
SubQuery2.Date As ScanDate
From tblAssets
Inner Join (Select Top 1000000 Subquery.AssetID,
Subquery.AssetName,
Subquery.Domain,
Subquery.IPAddress,
Subquery.[Asset Type],
Subquery.icon,
Subquery.Scanserver,
Subquery.ServiceVersion,
Subquery.FullScanTime,
Subquery.Date,
Ceiling(Floor(Convert(integer,Subquery.FullScanTime) / 3600 %
24)) As HOURS,
Ceiling(Floor(Convert(integer,Subquery.FullScanTime) % 3600 /
60)) As MINUTES,
Ceiling(Floor(Convert(integer,Subquery.FullScanTime) % 60)) As SECONDS
From tblAssets
Inner Join (Select Top 1000000 tblAssets.AssetID,
tblAssets.AssetName,
tblAssets.Domain,
tblAssets.IPAddress,
tAssettype.[Asset Type],
tAssettype.icon,
tblAssets.Scanserver,
tblAssets.ServiceVersion,
Sum(TsysLastscan.Scantime) As FullScanTime,
Convert(Date,TsysLastscan.Lasttime) As Date
From tblAssets
Left Join TsysLastscan On tblAssets.AssetID = TsysLastscan.AssetID
Inner Join tblAssetCustom On
tblAssets.AssetID = tblAssetCustom.AssetID
Inner Join tblState On tblAssetCustom.State = tblState.State
Left Join TsysWaittime On TsysLastscan.CFGcode = TsysWaittime.CFGCode
Inner Join (Select tblAssets.AssetID,
Case
When tblAssets.Assettype = -1 Then Case
When tblComputersystem.Domainrole > 1 Then 'Server'
Else Case
When (TsysChassisTypes.ChassisName = 'Notebook' Or
TsysChassisTypes.ChassisName = 'Laptop' Or
TsysChassisTypes.ChassisName = 'Portable') Then
'Laptop'
Else 'Desktop'
End
End
When tsysAssetTypes.AssetTypename = 'Media system' Then 'NAS'
When tsysAssetTypes.AssetTypename = 'Battery' Then 'UPS'
Else tsysAssetTypes.AssetTypename
End As [Asset Type],
tsysAssetTypes.AssetTypeIcon10 As icon
From tblAssets
Inner Join tsysAssetTypes On tsysAssetTypes.AssetType =
tblAssets.Assettype
Left Join tblComputersystem On tblComputersystem.AssetID =
tblAssets.AssetID
Left Join tblSystemEnclosure On tblAssets.AssetID =
tblSystemEnclosure.AssetID
Left Join TsysChassisTypes On tblSystemEnclosure.ChassisTypes =
TsysChassisTypes.Chassistype) tAssettype On
tAssettype.AssetID = tblAssets.AssetID
Group By tblAssets.AssetID,
tblAssets.AssetName,
tblAssets.Domain,
tblAssets.IPAddress,
tAssettype.icon,
tAssettype.[Asset Type],
tblAssets.Scanserver,
tblAssets.ServiceVersion,
Convert(Date,TsysLastscan.Lasttime)) As Subquery On
Subquery.AssetID = tblAssets.AssetID) As SubQuery2 On
SubQuery2.AssetID = tblAssets.AssetID
Where SubQuery2.[Asset Type] <> 'location'
Order By ScanDate Desc,
SubQuery2.FullScanTime Desc