select
a.AssetID,
a.AssetName,
a.IPAddress,
AssetTypename,
Domain,
Username,
Userdomain,
icon,
IPLocation,
Manufacturer,
Model,
OS,
Servername as [Scan Server],
ipstart + ' - ' + ipend as 'IP Range',
Description,
ScanningErrors,
Lastseen,
Lasttried
from (select tblassets.assetid,
AssetName,
Domain,
Username,
Userdomain,
Coalesce(tsysOS.Image, tsysAssetTypes.AssetTypeIcon10) As icon,
tblassets.IPAddress,
IPLocation,
Manufacturer,
Model,
OSname as OS,
Case
When tblErrors.ErrorText Is Not Null Or
tblErrors.ErrorText != '' Then
'Scanning Error: ' + tsysasseterrortypes.ErrorMsg
Else ''
End As ScanningErrors,
Lastseen,
Lasttried,
tsysAssetTypes.AssetTypename,
tsysIPScanRanges.Description,
tsysIPScanRanges.Servername,
ipstart,
IprangeID,
ipend,
RIGHT('000'+ISNULL(PARSENAME(Ipstart, 4),''),3) +
RIGHT('000'+ISNULL(PARSENAME(Ipstart, 3),''),3) +
RIGHT('000'+ISNULL(PARSENAME(Ipstart, 2),''),3) +
RIGHT('000'+ISNULL(PARSENAME(Ipstart, 1),''),3) as ipstarting,
RIGHT('000'+ISNULL(PARSENAME(ipend, 4),''),3) +
RIGHT('000'+ISNULL(PARSENAME(ipend, 3),''),3) +
RIGHT('000'+ISNULL(PARSENAME(ipend, 2),''),3) +
RIGHT('000'+ISNULL(PARSENAME(ipend, 1),''),3) as ipending,
IPNumeric
from tblassets
inner join tsysIPScanRanges on 1=1
Inner Join tblAssetCustom On tblAssets.AssetID = tblAssetCustom.AssetID
Inner Join tsysAssetTypes On tsysAssetTypes.AssetType = tblAssets.Assettype
Inner Join tsysIPLocations On tsysIPLocations.LocationID = tblAssets.LocationID
Inner Join tblState On tblState.State = tblAssetCustom.State
Left Join tsysOS On tsysOS.OScode = tblAssets.OScode
Left Join (Select Distinct Top 1000000 tblErrors.AssetID As ID,
Max(tblErrors.Teller) As ErrorID
From tblErrors
Group By tblErrors.AssetID) As ScanningError On tblAssets.AssetID =
ScanningError.ID
Left Join tblErrors On ScanningError.ErrorID = tblErrors.Teller
Left Join tsysasseterrortypes On tsysasseterrortypes.Errortype =
tblErrors.ErrorType
Where tblState.Statename = 'Active' ) as a
where IPNumeric between a.ipstarting and a.ipending and assetid in (
select b.assetid
from (select
a.AssetID,
a.AssetName
from (select tblassets.assetid,
AssetName,
RIGHT('000'+ISNULL(PARSENAME(Ipstart, 4),''),3) +
RIGHT('000'+ISNULL(PARSENAME(Ipstart, 3),''),3) +
RIGHT('000'+ISNULL(PARSENAME(Ipstart, 2),''),3) +
RIGHT('000'+ISNULL(PARSENAME(Ipstart, 1),''),3) as ipstarting,
RIGHT('000'+ISNULL(PARSENAME(ipend, 4),''),3) +
RIGHT('000'+ISNULL(PARSENAME(ipend, 3),''),3) +
RIGHT('000'+ISNULL(PARSENAME(ipend, 2),''),3) +
RIGHT('000'+ISNULL(PARSENAME(ipend, 1),''),3) as ipending,
IPNumeric
from tblassets
inner join tsysIPScanRanges on 1=1
Inner Join tblAssetCustom On tblAssets.AssetID = tblAssetCustom.AssetID
Inner Join tsysAssetTypes On tsysAssetTypes.AssetType = tblAssets.Assettype
Inner Join tsysIPLocations On tsysIPLocations.LocationID = tblAssets.LocationID
Inner Join tblState On tblState.State = tblAssetCustom.State
Left Join tsysOS On tsysOS.OScode = tblAssets.OScode
Left Join (Select Distinct Top 1000000 tblErrors.AssetID As ID,
Max(tblErrors.Teller) As ErrorID
From tblErrors
Group By tblErrors.AssetID) As ScanningError On tblAssets.AssetID =
ScanningError.ID
Left Join tblErrors On ScanningError.ErrorID = tblErrors.Teller
Left Join tsysasseterrortypes On tsysasseterrortypes.Errortype =
tblErrors.ErrorType
Where tblState.Statename = 'Active' ) as a
where IPNumeric between a.ipstarting and a.ipending) as b
group by b.assetid
having count(b.assetid) > 1)
order by AssetID
Explore the full platform, free for 14 days.
No credit card required.