У меня есть таблица, полная всех почтовых индексов в США. Как вы, наверное, знаете, почтовые индексы не обязательно являются друг за другом, поэтому для Мичигана у меня есть следующие почтовые индексы (просто пример):
48001,48002,48003,48004,48005,48006,48007,48009,48012,48014,48015,48017
Что мне нужно сделать, так это получить одну строку, такую как :
48001-48007,48009,48012,48014-48015,48017
Вы можете видеть, что я объединяю почтовые индексы, которые являются последовательными, в начальный и конечный диапазон, и если почтовый индекс не входит в последовательность, он будет сам по себе.
Я буду работать только с подмножеством почтовых индексов, я делаю не весь США. Итак, предположим, что у меня есть временная таблица с почтовыми индексами, с которыми я хочу работать, я могу заполнить эту временную таблицу по мере необходимости. Прямо сейчас у этой временной таблицы есть единственное поле для почтового индекса, но это может быть определено, однако это должно быть.
Я могу использовать временные таблицы, курсоры или что-нибудь еще, это будет сделано в сохраненном процедура. В случае, если вам интересно, почему, у нас есть торговые представители, и каждый отвечает за указание c почтовых индексов, и нам нужно распечатать некоторых представителей. Когда клиент получает звонок от клиента, он может быстро просмотреть распечатанный лист и отсканировать, чтобы увидеть торгового представителя, который будет отвечать за этот почтовый индекс.
Таким образом, напечатанная бумага будет выглядеть следующим образом:
Jim Smith...........48001-48007,48009,48012,48014-48015,48017
Heather Jones...59014, 59017, 59018-59022 (completely fake numbers, just as an example)
Я понимаю, что бумага устарела, и мы можем использовать веб-сайт или любое другое количество методов для этого sh, но по какой-то причине она должна быть напечатана, поэтому я пытаюсь сжать как можно больше почтовых индексов для печати.