2016-09-11 2 views
2

У меня есть сообщение XML, как этотЗаказывайте в ESQL

<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; 

Я сделал бы это, если «ORDER BY» поддерживается в esql select, но это не так. Так есть ли другой способ сделать что-то подобное?

Я знаю, что инструкции sql могут поддерживаться, если я использовал оператор PASSTHRU, который напрямую передает инструкцию в СУБД, но я не использую СУБД здесь, я выбираю из сообщения xml.

+0

Боюсь, что вам нужно будет сделать сортировку самостоятельно, либо реализовать его в ESQL, либо использовать некоторую библиотеку Java. –

+0

Учитывая отсутствие поддержки ORDER BY, вам необходимо пройти через список и выбрать элемент с самым низким номером, как писал Аттила. –

ответ

1

С помощью следующей ссылки вы можете написать процедуру быстрого сортировки, чтобы заказать свой список. Затем вы просто берете первый элемент списка.

Источник: http://www.mqseries.net/phpBB2/viewtopic.php?p=273722#27372

(я только разместил ссылку, потому что код процедуры довольно огромен и может быть обновлен его создателем)

Смежные вопросы