SELECT (SoftwareList.SOFTWARENAME) "Software_Name",
SystemInfo.WORKSTATIONNAME "Workstation",
MAX(aaaUser.FIRST_NAME) "User" ,
MAX(deptDef.DEPTNAME) "Department",
MAX(aaov.NAME) "Site",
longtodate(max(SoftwareInfo.FILECREATEDTIME)) "Installed On" FROM SoftwareInfo
LEFT JOIN SoftwareList ON SoftwareInfo.SOFTWAREID=SoftwareList.SOFTWAREID
LEFT JOIN SoftwareType ON SoftwareList.SOFTWARETYPEID=SoftwareType.SOFTWARETYPEID
LEFT JOIN Systeminfo ON SoftwareInfo.WORKSTATIONID=SystemInfo.WORKSTATIONID
LEFT JOIN Resources resource ON systeminfo.WORKSTATIONID=resource.RESOURCEID
LEFT JOIN ResourceOwner rOwner ON resource.RESOURCEID=rOwner.RESOURCEID
LEFT JOIN ResourceAssociation rToAsset ON rOwner.RESOURCEOWNERID=rToAsset.RESOURCEOWNERID
LEFT JOIN SDUser sdUser ON rOwner.USERID=sdUser.USERID
LEFT JOIN AaaUser aaaUser ON sdUser.USERID=aaaUser.USER_ID
LEFT JOIN ResourceLocation resLocation ON resource.RESOURCEID=resLocation.RESOURCEID
LEFT JOIN SiteDefinition siteDef ON resLocation.SITEID=siteDef.SITEID
LEFT JOIN SDOrganization aaov ON siteDef.SITEID=aaov.ORG_ID
LEFT JOIN DepartmentDefinition deptDef ON rOwner.DEPTID=deptDef.DEPTID WHERE (SoftwareList.SOFTWARENAME like '%Software Name Here%') and
dateadd(s,datediff(s,GETUTCDATE() ,getdate()) + (SoftwareInfo.FILECREATEDTIME/1000),'1970-01-01 00:00:00') >= convert(varchar,'2001-01-01 00:00',21) and dateadd(s,datediff(s,GETUTCDATE() ,getdate()) + (SoftwareInfo.FILECREATEDTIME/1000),'1970-01-01 00:00:00') <= convert(varchar,'2016-12-30 23:59',21)
GROUP BY SystemInfo.WORKSTATIONNAME,SoftwareList.SOFTWARENAME
ORDER BY 2