The simplest way would probably be joining tblSoftware and tblSoftwareUni to tblAssets and then grabbing the MAX() for each piece of software in the Select statement. Although doing it this way you would need to put a different column name for each piece of software you want a version for. I don't believe it's possible to dynamically make columns in Lansweeper reports for all software, if that's what you were looking for. But if you only have some software you want to find, here's a quick example of a report that should work for you.
In order to compare the version numbers correctly, if multiple versions of the software are installed on a machine, you need to replace the '.' with a '/' and use hierarchyID to compare them. This report will also put it back to decimals after the comparison for readability.
Select Top 1000000 tblassets.AssetID,
tblassets.AssetName,
tsysassettypes.AssetTypeIcon10 As icon,
IsNull(Replace(Trim('/' From Cast(Max(Try_Cast('/' + Replace(Case
When tblSoftwareUni.SoftwareName Like '%Chrome%' Then
tblSoftware.SoftwareVersion
End, '.', '/') + '/' As hierarchyid)) As nvarchar(100))), '/', '.'),
'Not Installed') As [Google Chrome],
IsNull(Replace(Trim('/' From Cast(Max(Try_Cast('/' + Replace(Case
When tblSoftwareUni.SoftwareName Like '%Lansweeper%' Then
tblSoftware.SoftwareVersion
End, '.', '/') + '/' As hierarchyid)) As nvarchar(100))), '/', '.'),
'Not Installed') As Lansweeper,
tblassets.IPAddress,
tblassets.Lastseen
From tblassets
Inner Join tblassetcustom On tblassets.AssetID = tblassetcustom.AssetID
Inner Join tsysassettypes On tsysassettypes.AssetType = tblassets.Assettype
Left Join tblSoftware On tblassets.AssetID = tblSoftware.AssetID
Left Join tblSoftwareUni On tblSoftware.SoftID = tblSoftwareUni.SoftID
Where tsysassettypes.AssetTypeName Like '%Windows%'
Group By tblassets.AssetID,
tblassets.AssetName,
tsysassettypes.AssetTypeIcon10,
tblassets.IPAddress,
tblassets.Lastseen
Order By tblassets.AssetName
The part you would need to edit and add in the Select statement is this, just replace SOFTWARENAME:
IsNull(Replace(Trim('/' From Cast(Max(Try_Cast('/' + Replace(Case
When tblSoftwareUni.SoftwareName Like '%SOFTWARENAME%' Then
tblSoftware.SoftwareVersion
End, '.', '/') + '/' As hierarchyid)) As nvarchar(100))), '/', '.'),
'Not Installed') As [SOFTWARENAME]
You'd have to modify it further if you want to look for Linux software by Joining the tblLinuxSoftware table and modifying the Select statement as needed. But hopefully this helps.