@jwoodling, I've modified the original report to include Edge detection since they change it's file location and fixed Opera detection since it wasn't picking up some in my environment.
The change was to replace the Edge Left Outer Join statement with a copy of the Opera statement, then change to Opera entries to Edge. See the code to explain the changes. Also you may be able to copy that snippet to detect the others that you're looking to report on. Be sure to include entries for the Case statement.
Select Distinct Top (1000000) tblAssets.AssetID,
tblAssets.AssetName,
tblAssets.Domain,
tblAssets.Username,
tblAssets.Userdomain,
Coalesce(tsysOS.Image, tsysAssetTypes.AssetTypeIcon10) As icon,
tblAssets.IPAddress,
tsysIPLocations.IPLocation,
tblAssetCustom.Manufacturer,
tblAssetCustom.Model,
tsysOS.OSname As OS,
tblAssets.SP,
tblAssets.Lastseen As [Last successful scan],
tblAssets.Lasttried As [Last scan attempt],
indirect.lastIndirectScan As [Last indirect scan],
Case
When Chrome.softID Is Null Then '-'
Else 'Installed'
End As Chrome,
Case
When Edge.AssetID Is Null Then '-'
Else 'Installed'
End As Edge,
Case
When FireFox.softID Is Null Then '-'
Else 'Installed'
End As Firefox,
Case
When InternetExplorer.softID Is Null Then '-'
Else 'Installed'
End As InternetExplorer,
Case
When Opera.softID Is Null Then '-'
Else 'Installed'
End As Opera,
Case
When Safari.softID Is Null Then '-'
Else 'Installed'
End As Safari
From tblAssets
Left Outer Join tsysOS On tsysOS.OScode = tblAssets.OScode
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 Outer Join (Select tblSoftware.AssetID,
tblSoftware.softID
From tblSoftware
Inner Join tblSoftwareUni On tblSoftwareUni.SoftID = tblSoftware.softID
Where tblSoftwareUni.softwareName Like '%Internet Explorer%') As
InternetExplorer On InternetExplorer.AssetID = tblAssets.AssetID
Left Outer Join (Select tblSoftware.AssetID,
tblSoftware.softID
From tblSoftware
Inner Join tblSoftwareUni On tblSoftwareUni.SoftID = tblSoftware.softID
Where tblSoftwareUni.softwareName Like '%Mozilla Firefox%') As FireFox On
FireFox.AssetID = tblAssets.AssetID
Left Outer Join (Select tblSoftware.AssetID,
tblSoftware.softID
From tblSoftware
Inner Join tblSoftwareUni On tblSoftwareUni.SoftID = tblSoftware.softID
Where tblSoftwareUni.softwareName Like '%Google Chrome%') As Chrome On
Chrome.AssetID = tblAssets.AssetID
Left Outer Join (Select tblSoftware.AssetID,
tblSoftware.softID
From tblSoftware
Inner Join tblSoftwareUni On tblSoftwareUni.SoftID = tblSoftware.softID
Where tblSoftwareUni.softwareName Like '%Safari%') As Safari On
Safari.AssetID = tblAssets.AssetID
Left Outer Join (Select tblSoftware.AssetID,
tblSoftware.softID
From tblSoftware
Inner Join tblSoftwareUni On tblSoftwareUni.SoftID = tblSoftware.softID
Where tblSoftwareUni.softwareName Like '%Opera%') As Opera On
Opera.AssetID = tblAssets.AssetID
Left Outer Join (Select tblSoftware.AssetID,
tblSoftware.softID
From tblSoftware
Inner Join tblSoftwareUni On tblSoftwareUni.SoftID = tblSoftware.softID
Where tblSoftwareUni.softwareName Like '%Edge%') As Edge On
Edge.AssetID = tblAssets.AssetID
Left Join (Select Max(tblIndirectScan.LastChanged) As lastIndirectScan,
tblIndirectScan.AssetId
From tblIndirectScan
Group By tblIndirectScan.AssetId) indirect On tblAssetCustom.AssetId =
indirect.AssetId
Where tblState.Statename = 'Active' And tsysAssetTypes.AssetTypename In
('Windows', 'Windows CE')
Order By tblAssets.Domain,
tblAssets.AssetName
Good luck.