0

是否可以创建动态订单?就像是

Select * from ztable_name Order by variable_name

或者,如果不可能的话,也许还有其他方法可以做到这一点?谢谢,提前感谢任何帮助。

4

2 回答 2

1

要为vwegert的答案提供更多详细信息:在您的示例中,variable_name必须是列的名称(因为您想按列排序)。但这不是通过使用文本变量,而是使用文本表。想象一下您要订购的表格有 5 列:

  • COL1
  • COL2
  • COL3
  • COL4
  • COL5

如果你想动态排序,比如说 COL2 和 COL4,它是这样的:

DATA: itab_order TYPE TABLE OF  char_72,
      wa_order   LIKE LINE OF   itab_order.

wa_order = 'COL2'.
APPEND wa_order TO itab_order.
wa_order = 'COL4'.
APPEND wa_order TO itab_order.

SELECT *
  FROM ztable_name
  INTO itab_ztable_name
  ORDER BY (itab_order).
  ENDSELECT.

希望这可以帮助 :)

于 2014-08-12T10:27:06.630 回答
1

请检查文档

动态指定列

ORDER BY要动态指定子句 中的列,请使用: SELECT ... ORDER BY (<itab>).where<itab>是一个内部表,具有行类型C,最大长度为 72 个字符,包含列名。

于 2014-08-09T16:55:02.463 回答