select 
a.WebSiteHostID,
(select WebUserName from WebSiteHost where WebSiteHost.WebSiteHostID=a.WebSiteHostID) as WebUserName,
(select Count(GetProductID) as GetOADID from GetProducts where  ADProductID = b.ADProductID) as ADQuantity 
from WebSiteHostOrders a
inner join GetProducts b on a.WebDomainNameID= b.WebDomainNameID and a.ADProductID=b.ADProductID
group by a.WebSiteHostID

解决方案 »

  1.   

    这样?
    select 
    a.WebSiteHostID,
    (select WebUserName from WebSiteHost where WebSiteHost.WebSiteHostID=a.WebSiteHostID) as WebUserName,
    (select count(*) from (select ADProductID,min(b.GetProductID) as GetOADID from GetProducts b group by b.ADProductID) d where d.ADProductID = a.ADProductID) as ADQuantity   
    from WebSiteHostOrders a
    inner join GetProducts b on a.WebDomainNameID= b.WebDomainNameID and a.ADProductID=b.ADProductID
    group by a.WebSiteHostID
      

  2.   

    --try
    select a.WebSiteHostID,
    (select WebUserName from WebSiteHost where WebSiteHost.WebSiteHostID=a.WebSiteHostID) as WebUserName,
    (select Count(*) from GetProducts where ADProductID=b.ADProductID) as ADQuantity 
    from WebSiteHostOrders a
    inner join GetProducts b on a.WebDomainNameID= b.WebDomainNameID and a.ADProductID=b.ADProductID
    group by a.WebSiteHostID
      

  3.   

    服务器: 消息 8120,级别 16,状态 1,行 1
    列 'b.ADProductID' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
      

  4.   

    select a.WebSiteHostID,
    (select WebUserName from WebSiteHost where WebSiteHost.WebSiteHostID=a.WebSiteHostID) as WebUserName,
    count(distinct b.ADProductID) as ADQuantity 
    from WebSiteHostOrders a
    inner join GetProducts b on a.WebDomainNameID= b.WebDomainNameID and a.ADProductID=b.ADProductID
    group by a.WebSiteHostID
      

  5.   

    感谢  (dobear_0922)  do熊distinct..........我咋就没想起来呢...