В настоящее время у меня есть цель встретиться. Мне нужно запросить базу данных для определенных результатов. После этого мне нужно будет сравнить записи: Например: запрос возвращает меня с 10 строками записей, мне тогда нужно сравнить: строка 1 с 2, строка 2 с 3, строка 3 с 4 ... строкой 9 с 10.сравнение 2 последовательных строк в наборе записей
Конечный результат, который я хочу иметь, составляет 10 или менее 10 строк записей.
У меня есть один подход в настоящее время. Я делаю это в рамках функции, руки имеют переменные, которые называются «предыдущими» и «текущими». В цикле я всегда буду сравнивать предыдущие и текущие, которые я заполняю через набор записей, используя курсор.
После того как я получил каждую строку отфильтрованного результата, я затем внесу его в физическую временную таблицу. После того, как все результаты приведены в этой временной таблице. Я сделаю запрос в этой таблице и вставляю результат в курсор, а затем возвращаю курсор.
Проблема в том, как я могу не использовать временную таблицу. Я просматриваю через Интернет об использовании вложенных таблиц, но почему-то я просто не мог заставить его работать.
Как заменить временную таблицу на что-то еще? Или есть другой подход, который я могу использовать для сравнения столбцов строк с другими строками.
EDIT
Так извините, может быть, я не ясно, с моим вопросом. Вот пример результата, которого я пытаюсь достичь.
Таблица X
Column A B C D
100 300 99 T1
100 300 98 T2
100 300 97 T3
100 100 97 T4
100 300 97 T5
101 11 11 T6
ColumnA
является первичным ключом таблицы. ColumnA
имеет дубликаты, потому что таблица X представляет собой таблицу аудита, в которой сохраняются следы всех изменений. Столбец D действует как метка времени для этой записи.
Для моего запроса, я заинтересован только в изменениях в колонке A, B и D. После запроса я хотел бы получить результат, как показано ниже:
Column A B D
100 300 T1
100 100 T4
100 300 T5
101 11 T6