Second generation report
Select Distinct Top 1000000 tblAssets.AssetID,
  tblAssets.AssetName,
  tblAssets.Userdomain,
  tblAssets.Username,
  tblBaseBoard.Manufacturer As MBManufacturer,
  tblBaseBoard.Product,
  tblBIOS.ReleaseDate,
  tblProcessor.Name,
  tblProcessor.Caption,
  tblAssets.Memory,
  Ceiling(tblOperatingsystem.TotalVisibleMemorySize / 1024) As OSMemory,
  Stuff((Select ', ' + IsNull(it.Caption, ' ') + '/' +
    IsNull(it.VideoModeDescription, ' ') From tblVideoController As it
  Where it.Caption Not Like '%dameware%' And it.Caption Not Like '%ConfigMgr%'
    And it.Caption Not Like '%radmin%' And it.Caption Not Like '%Hyper-V%' And
    it.AssetID = tblAssets.AssetID Order By it.Caption For Xml Path('')), 1, 1,
  '') Videocards,
  Stuff((Select ', ' + IsNull(t1.MonitorManufacturer, ' ') + ' ' +
    IsNull(t1.MonitorModel, ' ') From tblMonitor t1
  Where t1.AssetID = tblAssets.AssetID For Xml Path('')), 1, 2, '') Monitors,
  Stuff((Select ', ' + IsNull(tblNetworkAdapter.Name, ' ')
  From tblNetworkAdapter
  Where tblAssets.AssetID = tblNetworkAdapter.AssetID And
    tblNetworkAdapter.Name Not Like '%virtual%' And
    tblNetworkAdapter.Name Not Like '%VPN%' For Xml Path('')), 1, 2,
  '') NetworkAdapters,
  Stuff((Select ', ' + IsNull(tblFloppy.Model, ' ') + '(' +
    IsNull(Cast(Ceiling(tblFloppy.Size / 1024 / 1024 / 1024) As varchar(30)),
    '') + 'GB)' From tblFloppy
  Where tblAssets.AssetID = tblFloppy.AssetID And tblFloppy.Size > 0
  For Xml Path('')), 1, 2, '') HDDs,
  Stuff((Select ', ' + IsNull(tblUSBDevices.Name, ' ') From tblUSBDevices
  Where tblAssets.AssetID = tblUSBDevices.AssetID And
    tblUSBDevices.Name Not Like N'%Стандарт%' And tblUSBDevices.Name Not Like
    '%HID%' And tblUSBDevices.Name Not Like '%hub%' And
    tblUSBDevices.Name Not Like N'%концентратор%' And
    tblUSBDevices.Name Not Like N'%совместим%' And
    tblUSBDevices.Name Not Like N'%устройств%' And
    tblUSBDevices.Name Not Like '%generic%' And tblUSBDevices.Name Not
    Like N'%мышь%' And tblUSBDevices.Name Not Like N'%клавиатура%' And
    tblUSBDevices.Name Not Like '%bluetooth%' And tblUSBDevices.Name Not Like
    '%headset%' And tblUSBDevices.Name Not Like '%printing support%' And
    tblUSBDevices.Name Not Like N'%поддержка%' And
    tblUSBDevices.Name Not Like '%mouse%' And tblUSBDevices.Name Not Like
    '%keyboard%' And tblUSBDevices.Name Not Like '%USB Composite Device%' And
    tblUSBDevices.Name Not Like '%USB Pointing Device%' And
    tblUSBDevices.Name Not Like '%USB Input Device%' And
    tblUSBDevices.Name Not Like '%USB Human Interface Device%' And
    tblUSBDevices.Name Not Like '%IEEE 1284.4 compatible printer%' And
    tblUSBDevices.Name Not Like '%fax%' And tblUSBDevices.Name Not Like '%EWS%'
    And tblUSBDevices.Name Not Like '%DOT4%' And tblUSBDevices.Name Not Like
    '%LEDM%' And tblUSBDevices.Name Not Like N'%фильтр%' And
    tblUSBDevices.Name Not Like '%windows%' And tblUSBDevices.Name Not
    Like N'%дисковый%' And tblUSBDevices.Name Not Like '%storage%' And
    tblUSBDevices.Name <> '' And tblUSBDevices.Name Not Like '%unknown%' And
    tblUSBDevices.Name Not Like '%HP Universal Printing%' And
    tblUSBDevices.Name Not Like '%wia driver%' For Xml Path('')), 1, 2, '') USBs
From tblAssets
  Left Join tblBaseBoard On tblAssets.AssetID = tblBaseBoard.AssetID
  Left Join tblProcessor On tblAssets.AssetID = tblProcessor.AssetID
  Left Join tblOperatingsystem On tblAssets.AssetID = tblOperatingsystem.AssetID
  Left Join tblBIOS On tblAssets.AssetID = tblBIOS.AssetID
Where tblAssets.OScode Not Like '%s'
Order By tblAssets.AssetName