在HANA升级之前和之后对内部表进行排序?

2020-09-18 19:08发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我想了解在HANA升级前后如何对Itab进行排序。

我有一个选择查询,它连接了vrpma,vbpa和vbrk表。

在内部表itab中选择以下字段

 matnr TYPE matnr,
         vtweg TYPE vrpma-vtweg,
         fkart TYPE vrpma-fkart,
         vbeln TYPE vbrp-vbeln,
         posnr TYPE vbrp-posnr,
         fkimg TYPE vbrp-fkimg,
         fklmg TYPE vbrp-fklmg,
         vrkme TYPE vbrp-vrkme,
         netwr TYPE vbrp-netwr,
         kunag TYPE vbrk-kunag,
         erdat TYPE vbrk-fkdat 

现在,在一个升级到HANA数据库的环境中,内部表按VBELN排序。

在不是HANA数据库的另一个环境中,内部表由Matnr排序。

选择查询在下面,并且在两个环境中都相同

选择vbrp〜matnr vrpma〜vtweg vrpma〜fkart
          vbrp〜vbeln vbrp〜posnr
          vbrp〜fkimg vbrp〜fklmg
          vbrp〜vrkme vbrp〜netwr
          vbrk〜kunag vbrk〜erdat
          vbrk〜zuonr
          vbrk〜sfakn
 * vbrp〜aubel
          vbrk〜knumv vbpa〜kunnr vbrk〜fkdat vbrp〜prsdt
          vbrp〜zzterr vbrp〜pstyv
   从((((vrpma JOIN vbrp ON vrpma〜vbeln = vbrp〜vbeln AND
                             vrpma〜posnr = vbrp〜posnr)
            加入vbrk ON vbrk〜vbeln = vrpma〜vbeln)
            加入vbpa ON vrpma〜vbeln = vbpa〜vbeln)
   进入表i_sales
   对于i_materials中的所有条目
   在哪里vrpma〜matnr = i_materials-matnr
   AND vrpma〜vkorg = p_vkorg等等..... 

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我想了解在HANA升级前后如何对Itab进行排序。

我有一个选择查询,它连接了vrpma,vbpa和vbrk表。

在内部表itab中选择以下字段

 matnr TYPE matnr,
         vtweg TYPE vrpma-vtweg,
         fkart TYPE vrpma-fkart,
         vbeln TYPE vbrp-vbeln,
         posnr TYPE vbrp-posnr,
         fkimg TYPE vbrp-fkimg,
         fklmg TYPE vbrp-fklmg,
         vrkme TYPE vbrp-vrkme,
         netwr TYPE vbrp-netwr,
         kunag TYPE vbrk-kunag,
         erdat TYPE vbrk-fkdat 

现在,在一个升级到HANA数据库的环境中,内部表按VBELN排序。

在不是HANA数据库的另一个环境中,内部表由Matnr排序。

选择查询在下面,并且在两个环境中都相同

选择vbrp〜matnr vrpma〜vtweg vrpma〜fkart
          vbrp〜vbeln vbrp〜posnr
          vbrp〜fkimg vbrp〜fklmg
          vbrp〜vrkme vbrp〜netwr
          vbrk〜kunag vbrk〜erdat
          vbrk〜zuonr
          vbrk〜sfakn
 * vbrp〜aubel
          vbrk〜knumv vbpa〜kunnr vbrk〜fkdat vbrp〜prsdt
          vbrp〜zzterr vbrp〜pstyv
   从((((vrpma JOIN vbrp ON vrpma〜vbeln = vbrp〜vbeln AND
                             vrpma〜posnr = vbrp〜posnr)
            加入vbrk ON vbrk〜vbeln = vrpma〜vbeln)
            加入vbpa ON vrpma〜vbeln = vbpa〜vbeln)
   进入表i_sales
   对于i_materials中的所有条目
   在哪里vrpma〜matnr = i_materials-matnr
   AND vrpma〜vkorg = p_vkorg等等..... 
付费偷看设置
发送
4条回答
bbpeas
1楼 · 2020-09-18 19:39.采纳回答

您好Divya,

如果未在SELECT中指定任何ORDER BY,则结果集的顺序是不可预测的。 这取决于数据库和执行计划。

对于2个不同的数据库,您不必担心获得2个不同的排序顺序。

此致

弗雷德里克(Frederic)

愤怒的猪头君
2楼-- · 2020-09-18 19:21

严重的是,这个问题永远不会老了,嗯?

宇峰科技
3楼-- · 2020-09-18 19:27

这个问题已经问了多年了。 似乎很少有人了解关系数据库上没有排序顺序之类的东西。 它实际上是定义的一部分。

没有默认顺序。 没有顺序的概念。 如果要排序结果集,则必须使用ORDER BY:

梦想连接
4楼-- · 2020-09-18 19:27

谢谢,这对我来说很有意义。

一周热门 更多>