Ok; so I remove the warranty record and Diskdrives just to check I still get some duplicates .
Select top 10000
tblAssets.AssetID,
tblAssetCustom.Serialnumber,
tblAssets.AssetName,
tblAssets.Username,
tblAssets.Processor AS [CPU],
tblAssetCustom.Manufacturer,
tblAssets.Mac AS [MAC Address],
tblAssetCustom.Model,
tsysOS.OSname AS [Operating System],
tsysOS.OSCode AS [OS Build],
tblAssets.Version,
--cast(round(tblAssets.Memory / 1024, 2) AS decimal(10, 2)) AS [RAM (GB)],
--Cast(tblDiskdrives.Size / 1024 / 1024 / 1024 As numeric) As [Total size (GB)],
--Cast((tblDiskdrives.Freespace) / 1024 / 1024 / 1024 As Numeric) As [Free in (GB)],
--tblAssetCustom.PurchaseDate,
--tblAssetCustom.warrantydate As [Warranty Expiration],
--tblWarrantyDetails.WarrantyStartDate As [Warranty Start],
--tblWarrantyDetails.WarrantyEndDate [Warranty END Expiration],
tblAssets.BuildNumber,
tblAssets.Firstseen As [First discovered],
tblassets.LastChanged,
tblAssets.Lastseen,
TsysChassisTypes.ChassisName As Chassis,
Case
When tblPortableBattery.AssetID Is Not Null
Then 'Notebook'
Else ''
End As Class
From
tblAssets
Left Join tblWarranty On tblAssets.AssetID = tblWarranty.AssetId
--Inner Join tblWarrantyDetails On tblWarranty.WarrantyId =
--tblWarrantyDetails.WarrantyId
Inner Join tblAssetCustom On tblAssets.AssetID = tblAssetCustom.AssetID
--Inner Join tblDiskdrives On tblAssets.AssetID = tblDiskdrives.AssetID
Inner Join tblSystemEnclosure On tblAssets.AssetID = tblSystemEnclosure.AssetID
Inner Join TsysChassisTypes On TsysChassisTypes.Chassistype = tblSystemEnclosure.ChassisTypes
Inner Join tsysOS On tsysOS.OScode = tblAssets.OScode
Left Join tblPortableBattery On tblAssets.AssetID = tblPortableBattery.AssetID
where
tblAssetCustom.State = 1
Order By
tblAssets.Domain,
tblAssets.AssetName
Select top 10000
tblAssets.AssetID,
tblAssetCustom.Serialnumber,
tblAssets.AssetName,
tblAssets.Username,
tblAssets.Processor AS [CPU],
tblAssetCustom.Manufacturer,
tblAssets.Mac AS [MAC Address],
tblAssetCustom.Model,
tsysOS.OSname AS [Operating System],
tsysOS.OSCode AS [OS Build],
tblAssets.Version,
--cast(round(tblAssets.Memory / 1024, 2) AS decimal(10, 2)) AS [RAM (GB)],
--Cast(tblDiskdrives.Size / 1024 / 1024 / 1024 As numeric) As [Total size (GB)],
--Cast((tblDiskdrives.Freespace) / 1024 / 1024 / 1024 As Numeric) As [Free in (GB)],
--tblAssetCustom.PurchaseDate,
--tblAssetCustom.warrantydate As [Warranty Expiration],
--tblWarrantyDetails.WarrantyStartDate As [Warranty Start],
--tblWarrantyDetails.WarrantyEndDate [Warranty END Expiration],
tblAssets.BuildNumber,
tblAssets.Firstseen As [First discovered],
tblassets.LastChanged,
tblAssets.Lastseen,
TsysChassisTypes.ChassisName As Chassis,
Case
When tblPortableBattery.AssetID Is Not Null
Then 'Notebook'
Else ''
End As Class
From
tblAssets
Left Join tblWarranty On tblAssets.AssetID = tblWarranty.AssetId
--Inner Join tblWarrantyDetails On tblWarranty.WarrantyId =
--tblWarrantyDetails.WarrantyId
Inner Join tblAssetCustom On tblAssets.AssetID = tblAssetCustom.AssetID
--Inner Join tblDiskdrives On tblAssets.AssetID = tblDiskdrives.AssetID
Inner Join tblSystemEnclosure On tblAssets.AssetID = tblSystemEnclosure.AssetID
Inner Join TsysChassisTypes On TsysChassisTypes.Chassistype = tblSystemEnclosure.ChassisTypes
Inner Join tsysOS On tsysOS.OScode = tblAssets.OScode
Left Join tblPortableBattery On tblAssets.AssetID = tblPortableBattery.AssetID
where
tblAssetCustom.State = 1
Order By
tblAssets.Domain,
tblAssets.AssetName