У меня есть таблица, которая содержит много целых чисел. Эта таблица запрашивается, и результаты в конечном итоге превращаются в XML. Если таблица содержит, например, следующие позиции:
SELECT itemId FROM items WHERE enabled = true
1
2
3
5
Мой окончательный вывод xml после некоторой обработки будет:
<item id="1" />
<item id="2" />
<item id="3" />
<item id="5" />
xml оказывается довольно большим, и многие элементы фактически являются диапазонами. То, что я хотел бы сделать, это обновить мой запрос, чтобы объединить диапазоны (многие из этих элементов являются «соседями», поэтому сгенерированный XML будет немного меньше). Я пытаюсь получить результаты процедур так:
1-3
5
Так что окончательный XML выглядит примерно так (если я могу просто изменить процедуру, обработка XML может остаться прежней):
<item id="1-3"/>
<item id="5"/>
Я думал, что мой лучший путь может заключаться в использовании самостоятельного соединения, где table1.itemId = table2.itemId - 1
, но я не смог заставить его работать. У кого-нибудь есть какие-либо предложения о том, как я могу пойти по этому поводу?