123
返回列表 发新帖
楼主: dreamgift

有不用LOOP 得出内表一列合的方法没?

[复制链接]
论坛徽章:
2
2014年新春福章
日期:2014-02-18 16:43:09马上有钱
日期:2014-02-18 16:43:09
21#
 楼主| 发表于 2009-9-10 09:39 | 只看该作者
原帖由 awarecan 于 2009-9-9 13:33 发表


SELECT aufnr posnr SUM( A ) FROM ztable
INTO itab
FOR ALL ENTRIES IN it_afko
GROUP BY aufnr posnr
HAVING aufnr = it_afko-aufnr AND posnr = it_afko-posnr.


高手  我试了一下   Check的时候出现这个错误提示.

没搞懂

你就帮到底吧

THE FIELD AUFNR FROM THE SELECT LIST IS MISSING IN THE GROUP BY CLAUSE. ADDITION INTO WA OR INTO (G1,....GN) IS REQUIRED . FIELDS OF TYPE '' OR 'ZITAB~MANDT'

使用道具 举报

回复
论坛徽章:
11
2009新春纪念徽章
日期:2009-01-04 14:52:28ITPUB元老
日期:2009-04-11 21:27:42生肖徽章2007版:牛
日期:2009-06-08 00:31:34
22#
发表于 2009-9-10 09:51 | 只看该作者
select 里面的字段,除了sum里面的,其他都必须在group by 后面出现。

另,昨晚我仔细考虑了一下你的需求,我感觉用having可能效率上有问题,不过你可以先试试啦。

使用道具 举报

回复
论坛徽章:
2
2014年新春福章
日期:2014-02-18 16:43:09马上有钱
日期:2014-02-18 16:43:09
23#
 楼主| 发表于 2009-9-10 09:56 | 只看该作者
谢谢你这么热心啊! 效率到时候我在折中取吧  先学习了这个  哈哈

我成这样.没有不在Group里面的啊?  

怎么搞的呢?

  SELECT AUFNR
               POSNR
               SUM( BCQCL )
     FROM ZITAB
      INTO TABLE IT_BCQCL
        FOR ALL ENTIRES IN IT_PDATA
   GROUP BY AUFNR POSNR
  HAVING AUFNR = IT_PDATA-AUFNR
       AND POSNR = IT_PDATA-POSNR
       AND STOKZ <> 'D'.

晕了  才看到   Entries写错了  崩溃

[ 本帖最后由 dreamgift 于 2009-9-10 09:59 编辑 ]

使用道具 举报

回复
论坛徽章:
2
2014年新春福章
日期:2014-02-18 16:43:09马上有钱
日期:2014-02-18 16:43:09
24#
 楼主| 发表于 2009-9-10 09:57 | 只看该作者
SAP报的错真让人摸不到头脑.

把Entries改了以后

提示成这个了

THE ADDITION "FOR ALL ENTRIES" EXCLUDES ALL AGGREGATE FUNCTIONS WITH THE EXCEPTION OF "COUNT(*)"

[ 本帖最后由 dreamgift 于 2009-9-10 10:02 编辑 ]

使用道具 举报

回复
论坛徽章:
0
25#
发表于 2009-9-10 10:22 | 只看该作者
sql差, 英文也差

使用道具 举报

回复
论坛徽章:
11
2009新春纪念徽章
日期:2009-01-04 14:52:28ITPUB元老
日期:2009-04-11 21:27:42生肖徽章2007版:牛
日期:2009-06-08 00:31:34
26#
发表于 2009-9-10 10:33 | 只看该作者
恩,事情是这样的,for all entries不能和group by混用。
这也是我刚才说可能效率有问题的地方,看来sap还是限制了使用,以避免效率太差的SQL出现。

使用道具 举报

回复
论坛徽章:
2
2014年新春福章
日期:2014-02-18 16:43:09马上有钱
日期:2014-02-18 16:43:09
27#
 楼主| 发表于 2009-9-10 10:36 | 只看该作者
这样啊

谢谢帮忙了.

使用道具 举报

回复
论坛徽章:
2
2014年新春福章
日期:2014-02-18 16:43:09马上有钱
日期:2014-02-18 16:43:09
28#
 楼主| 发表于 2009-9-10 10:36 | 只看该作者
原帖由 uwe 于 2009-9-10 10:22 发表
sql差, 英文也差


你有不差的地方没?

使用道具 举报

回复
论坛徽章:
11
2009新春纪念徽章
日期:2009-01-04 14:52:28ITPUB元老
日期:2009-04-11 21:27:42生肖徽章2007版:牛
日期:2009-06-08 00:31:34
29#
发表于 2009-9-10 10:40 | 只看该作者

如果还想一条SQL搞定,试试INNER JOIN

SELECT AUFNR
               POSNR
               SUM( BCQCL )
     FROM ZITAB INNER JOIN AFPO ON  ZITAB~AUFNR = AFPO~AUFNR AND ZITAB~POSNR = AFPO~POSNR
      INTO TABLE IT_BCQCL
  WHERE STOKZ <> 'D'
       AND 你之前查询出IT_PDATA的逻辑条件
   GROUP BY AUFNR POSNR

使用道具 举报

回复
论坛徽章:
2
2014年新春福章
日期:2014-02-18 16:43:09马上有钱
日期:2014-02-18 16:43:09
30#
 楼主| 发表于 2009-9-10 11:06 | 只看该作者
恩  INNER JOIN我之前在SDN上查了.

我也试了  是可以的

但是他们这个从整体上逻辑上用不上

所以我就没考虑.

哈哈  你比我还执着啊!

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表