楼主: houbao408

一段SQL的优化

[复制链接]
论坛徽章:
9
ITPUB元老
日期:2009-11-25 15:11:25雪铁龙
日期:2013-11-18 09:03:16马上有车
日期:2014-04-26 17:04:01懒羊羊
日期:2015-05-07 16:00:27
11#
发表于 2011-6-27 18:08 | 只看该作者
原帖由 houbao408 于 2011-6-27 17:46 发表
但是要显示甲表中所有的记录啊...

兄弟,你总是要有个作为主体吧。既然要显示甲表就用甲表做为主体,把仪表中的数据加进甲表中取呗。有的话就MODIY 甲,没有就APPEND 甲啊。这样总行了吧。不可能说是LEFT JOIN就会把乙表的增加到甲表中取吧?总要个作为主体,另外的想办法用LOOP啊。ABAP最方便的就是LOOP

使用道具 举报

回复
论坛徽章:
73
技术图书徽章
日期:2014-05-13 10:13:152012新春纪念徽章
日期:2012-02-13 15:13:362012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28ERP板块每日发贴之星
日期:2011-06-15 01:01:01茶鸡蛋
日期:2011-06-09 15:59:122011新春纪念徽章
日期:2011-05-10 14:10:24现任管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-04-28 16:02:102010广州亚运会纪念徽章:排球
日期:2011-03-10 17:59:11
12#
发表于 2011-6-27 18:08 | 只看该作者
wow...you want to use 4 tables joining together, of course the performance would be bad, you are better to combine join 2 tables into a internal table, then internal table with tables using select for all entries...

使用道具 举报

回复
论坛徽章:
0
13#
发表于 2011-6-27 22:57 | 只看该作者
SELECT不要超过3个表,超过就拆开写,

使用道具 举报

回复
求职 : SAP实施
论坛徽章:
261
土豪章
日期:2018-07-10 16:19:05ITPUB18周年纪念章
日期:2018-09-17 10:09:49ITPUB18周年纪念章
日期:2018-09-17 10:12:57妮可·罗宾
日期:2018-10-28 13:07:10ITPUB18周年纪念章
日期:2018-11-13 15:31:24ITPUB18周年纪念章
日期:2018-11-13 15:40:4519周年集字徽章-庆
日期:2019-09-06 18:30:1219周年集字徽章-19
日期:2021-02-03 16:43:4820周年集字徽章-年	
日期:2023-07-21 18:25:26
14#
 楼主| 发表于 2011-6-28 08:35 | 只看该作者

回复 #11 laoou555 的帖子

针对我七楼的这段代码,兄弟该如何写?可以满足我目前的这种需求?

[ 本帖最后由 houbao408 于 2011-6-28 08:39 编辑 ]

使用道具 举报

回复
求职 : SAP实施
论坛徽章:
261
土豪章
日期:2018-07-10 16:19:05ITPUB18周年纪念章
日期:2018-09-17 10:09:49ITPUB18周年纪念章
日期:2018-09-17 10:12:57妮可·罗宾
日期:2018-10-28 13:07:10ITPUB18周年纪念章
日期:2018-11-13 15:31:24ITPUB18周年纪念章
日期:2018-11-13 15:40:4519周年集字徽章-庆
日期:2019-09-06 18:30:1219周年集字徽章-19
日期:2021-02-03 16:43:4820周年集字徽章-年	
日期:2023-07-21 18:25:26
15#
 楼主| 发表于 2011-6-28 08:49 | 只看该作者

回复 #10 zg123xzg 的帖子

这样写好像会出现死循环,一直往甲表中加数据..

使用道具 举报

回复
论坛徽章:
9
ITPUB元老
日期:2009-11-25 15:11:25雪铁龙
日期:2013-11-18 09:03:16马上有车
日期:2014-04-26 17:04:01懒羊羊
日期:2015-05-07 16:00:27
16#
发表于 2011-6-28 10:56 | 只看该作者
不会死循环的。你慢慢想想

[ 本帖最后由 laoou555 于 2011-6-28 11:06 编辑 ]

使用道具 举报

回复
论坛徽章:
9
ITPUB元老
日期:2009-11-25 15:11:25雪铁龙
日期:2013-11-18 09:03:16马上有车
日期:2014-04-26 17:04:01懒羊羊
日期:2015-05-07 16:00:27
17#
发表于 2011-6-28 11:06 | 只看该作者
原帖由 zg123xzg 于 2011-6-27 18:07 发表
LOOP AT 甲
LOOP AT 乙 WHERE A = 甲-A
.....

用这个可以啊

使用道具 举报

回复
求职 : SAP实施
论坛徽章:
261
土豪章
日期:2018-07-10 16:19:05ITPUB18周年纪念章
日期:2018-09-17 10:09:49ITPUB18周年纪念章
日期:2018-09-17 10:12:57妮可·罗宾
日期:2018-10-28 13:07:10ITPUB18周年纪念章
日期:2018-11-13 15:31:24ITPUB18周年纪念章
日期:2018-11-13 15:40:4519周年集字徽章-庆
日期:2019-09-06 18:30:1219周年集字徽章-19
日期:2021-02-03 16:43:4820周年集字徽章-年	
日期:2023-07-21 18:25:26
18#
 楼主| 发表于 2011-6-28 11:21 | 只看该作者

回复 #17 laoou555 的帖子

用这个方法,是不是要将乙表中的数据加入到甲表中,然而是在loop内,那么甲表会不会就一直loop,一直有新的数据加入...

使用道具 举报

回复
求职 : SAP实施
论坛徽章:
261
土豪章
日期:2018-07-10 16:19:05ITPUB18周年纪念章
日期:2018-09-17 10:09:49ITPUB18周年纪念章
日期:2018-09-17 10:12:57妮可·罗宾
日期:2018-10-28 13:07:10ITPUB18周年纪念章
日期:2018-11-13 15:31:24ITPUB18周年纪念章
日期:2018-11-13 15:40:4519周年集字徽章-庆
日期:2019-09-06 18:30:1219周年集字徽章-19
日期:2021-02-03 16:43:4820周年集字徽章-年	
日期:2023-07-21 18:25:26
19#
 楼主| 发表于 2011-6-28 11:26 | 只看该作者
优化前后的代码,请指教!!

[ 本帖最后由 houbao408 于 2011-6-28 11:48 编辑 ]

使用道具 举报

回复
论坛徽章:
9
ITPUB元老
日期:2009-11-25 15:11:25雪铁龙
日期:2013-11-18 09:03:16马上有车
日期:2014-04-26 17:04:01懒羊羊
日期:2015-05-07 16:00:27
20#
发表于 2011-6-28 11:38 | 只看该作者
好了

使用道具 举报

回复

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

本版积分规则 发表回复

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