I was wondering why you grouped your results since you aren't doing anything across them (Count, Sum, Min, Max, etc.). Since you don't appear to need it, you should be able to drop that.
Regarding your DDR4 issue, what I offer below is in no way guaranteed to be "the way" to derive it. I only offer it in illustration. If you can figure a way to identify your DDR4 RAM from its other attributes, just adjust the conditions on the first WHEN in the two CASEs.
Select Top 1000000
tblAssets.AssetID,
tsysAssetTypes.AssetTypeIcon10 As icon,
tblAssets.AssetName,
tblAssets.Username,
tblAssets.Domain,
tblAssets.IPAddress,
tblAssets.Memory,
tblPhysicalMemory.Speed,
Round(tblPhysicalMemory.Speed*8, -2) AS [PC-rating],
tblPhysicalMemory.Capacity,
tblPhysicalMemory.PartNumber,
tblPhysicalMemory.Manufacturer,
tblPhysicalMemory.DeviceLocator,
TsysMemorytypes.MemoryName,
CASE
WHEN TsysMemorytypes.MemoryName = 'Unknown'
-- NOT a definitive test for DDR4
-- just an illustration based solely on the memory speed
-- adjust the conditions if you can reliably derive the memory type from its other characteristics
AND tblPhysicalMemory.Speed IN (1600, 1866, 2133, 2400, 2666, 2933, 3200, 2800, 3000, 3300) THEN 'DDR4'
WHEN TsysMemorytypes.MemoryName LIKE 'DDR%' THEN TsysMemorytypes.MemoryName
ELSE 'unknown'
END AS MemType
From
tblAssets
Inner Join tblAssetCustom On tblAssets.AssetID = tblAssetCustom.AssetID
Inner Join tsysAssetTypes On tsysAssetTypes.AssetType = tblAssets.Assettype
Inner Join tblPhysicalMemory On tblAssets.AssetID = tblPhysicalMemory.AssetID
Inner Join TsysMemorytypes ON tsysmemorytypes.Memorytype = tblPhysicalMemory.MemoryType
Where
CASE
WHEN TsysMemorytypes.MemoryName = 'Unknown'
-- NOT a definitive test for DDR4
-- just an illustration based solely on the memory speed
-- adjust the conditions if you can reliably derive the memory type from its other characteristics
AND tblPhysicalMemory.Speed IN (1600, 1866, 2133, 2400, 2666, 2933, 3200, 2800, 3000, 3300) THEN 'DDR4'
WHEN TsysMemorytypes.MemoryName LIKE 'DDR%' THEN TsysMemorytypes.MemoryName
ELSE 'unknown'
END LIKE 'DDR%'