首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 不能对包含聚合或子查询的表达式执行聚合函数 [急] [已结贴,结贴人:gongsun]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • gongsun
    • 等级:
    发表于:2008-05-21 18:25:21 楼主
    不用视图,只用sql语句。

    我用 select min(b.GetProductID) as GetOADID from GetProducts b group by b.ADProductID

    可以查出:
    GetOADID
      1
      8

    --------------------------

    我现在想把这个 GetOADID 来 Count() 一下。

    比如:@CountGetOADID=Count(GetOADID)

    ----------------------------------

    关键是我想在下面用到这个Count(GetOADID)

    SQL code
    select a.WebSiteHostID, (select WebUserName from WebSiteHost where WebSiteHost.WebSiteHostID=a.WebSiteHostID) as WebUserName, Count(GetOADID) as ADQuantity --在这里 --换句话就是我想: --(select Count(min(b.GetProductID)) as GetOADID from GetProducts b group by 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

    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-21 18:32:321楼 得分:2
    SQL code
    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
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-21 18:34:152楼 得分:2
    看看
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-21 18:35:393楼 得分:0
    这样?
    SQL code
    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
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-21 18:37:474楼 得分:2
    SQL code
    --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
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • gongsun
    • 等级:
    发表于:2008-05-21 18:44:355楼 得分:0
    服务器: 消息 8120,级别 16,状态 1,行 1
    列 'b.ADProductID' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-21 19:04:176楼 得分:92
    SQL code
    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
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-22 00:26:417楼 得分:2
    建议LZ发哈表结构,看哈是怎么回事
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • gongsun
    • 等级:
    发表于:2008-05-22 08:50:238楼 得分:0
    感谢  (dobear_0922)  do熊

    distinct..........

    我咋就没想起来呢...

    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved