Gotcha. Played with it for a while and used tblVmwareGuest.GuestFullName instead and here's what I ended up with
Select Top 1000000 tblAssets.AssetID,
tblAssets.AssetName,
tsysAssetTypes.AssetTypeIcon10 As icon,
tblAssets.NrProcessors As [Socket Count],
tblVmwareInfo.numCpuCores As [Core Count],
Count.count As [Win Guest Count],
tblAssets.Processor As [CPU Model],
tblVmwareInfo.BiosVersion,
tblAssets.Memory As RAM,
tblVmwareInfo.Version As [ESXi Version],
tblAssetCustom.Model,
tblAssetCustom.Serialnumber As [Service Tag],
tblAssetCustom.Warrantydate As [Warranty Expiration]
From tblAssets
Left Join (Select Distinct Top 1000000 Count(tblAssets.AssetID) As count,
tblAssets1.AssetName As Host,
tblVmwareGuest.GuestFullName
From tblAssets
Inner Join tblVmwareGuest On tblAssets.AssetID = tblVmwareGuest.AssetID
Inner Join tsysAssetTypes On tsysAssetTypes.AssetType =
tblAssets.Assettype
Inner Join tblAssetCustom On tblAssets.AssetID = tblAssetCustom.AssetID
Inner Join tblState On tblState.State = tblAssetCustom.State
Left Join tblVmwareInfo On tblVmwareGuest.HostID =
tblVmwareInfo.VmwareID
Left Join tblAssets tblAssets1 On tblAssets1.AssetID =
tblVmwareInfo.AssetID
Left Join tblVmwareVcenters On
tblAssets.AssetID = tblVmwareVcenters.AssetID And tblAssets1.AssetID =
tblVmwareVcenters.AssetID
Where tblVmwareGuest.GuestFullName Like '%indows%'
Group By tblAssets1.AssetName,
tblVmwareGuest.GuestFullName) As Count On
Count.Host = tblAssets.AssetName
Inner Join tblAssetCustom On tblAssets.AssetID = tblAssetCustom.AssetID
Inner Join tsysAssetTypes On tsysAssetTypes.AssetType = tblAssets.Assettype
Left Join tblVmwareInfo On tblAssets.AssetID = tblVmwareInfo.AssetID
Where tsysAssetTypes.AssetTypename Like '%ESXi%Server%'
Still trying to figure out how to get your original subquery in there as a second column but this is the information I needed for now.
Thanks!!