【问题标题】:Order By in esql在 esql 中排序
【发布时间】:2017-01-18 23:59:49
【问题描述】:

我有一个这样的 xml 消息

<Body>
   <test>
       <element>2</element>
       <element>6</element>
       <element>1</element>
   </test>
</Body>

我想选择编号最小的元素

类似的东西

SET data[] = SELECT e FROM Output.Body.test.element[] AS e ORDER BY e.element;

如果 esql select 支持“ORDER BY”,我会这样做,但它不支持,那么还有其他方法可以做这样的事情吗?

我知道如果我使用直接将语句传递给 DBMS 的 PASSTHRU 语句可以支持 sql 语句,但我这里没有使用 DBMS,我是从 xml 消息中选择的。

【问题讨论】:

  • 恐怕您需要自己进行排序,要么在 ESQL 中实现它,要么使用一些 Java 库。
  • 鉴于缺少 ORDER BY 支持,您需要遍历列表并选择编号最小的元素,正如 Attila 所写。

标签: messagebroker ibm-integration-bus extended-sql


【解决方案1】:

通过以下链接,您可以编写一个快速排序程序来对您的列表进行排序。然后,您只需获取列表的第一个元素。

来源:http://www.mqseries.net/phpBB2/viewtopic.php?p=273722#27372

(我只发布了一个链接,因为程序代码非常庞大,可以由他的创建者更新)

【讨论】:

    猜你喜欢
    • 2012-01-16
    • 1970-01-01
    • 2016-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-30
    • 1970-01-01
    • 2017-07-10
    相关资源
    最近更新 更多