Я пытаюсь написать запрос, который вытащит две последние строки из таблицы Билла, где установлен флаг «Сметка». Уловка заключается в том, что они должны быть последовательными счетами.Найдите две последовательные строки
Короче говоря, мне нужно ввести строку в другую таблицу, если счет был рассчитан для последних двух циклов счета.
Я бы хотел сделать это без курсора, если это возможно, так как я работаю с большим количеством данных, и это должно выполняться довольно часто.
Редактировать
Существует AUTOINCREMENT (1,1) столбец таблицы. Не выдавая слишком много структуры таблицы, таблица, по существу, из структуры:
CREATE TABLE Bills (
BillId INT AUTOINCREMENT(1,1,) PRIMARY KEY,
Estimated BIT NOT NULL,
InvoiceDate DATETIME NOT NULL
)
Таким образом, вы могли бы иметь набор результатов, как:
BillId AccountId Estimated InvoiceDate -------------------- -------------------- --------- ----------------------- 1111196 1234567 1 2008-09-03 00:00:00.000 1111195 1234567 0 2008-08-06 00:00:00.000 1111194 1234567 0 2008-07-03 00:00:00.000 1111193 1234567 0 2008-06-04 00:00:00.000 1111192 1234567 1 2008-05-05 00:00:00.000 1111191 1234567 0 2008-04-04 00:00:00.000 1111190 1234567 1 2008-03-05 00:00:00.000 1111189 1234567 0 2008-02-05 00:00:00.000 1111188 1234567 1 2008-01-07 00:00:00.000 1111187 1234567 1 2007-12-04 00:00:00.000 1111186 1234567 0 2007-11-01 00:00:00.000 1111185 1234567 0 2007-10-01 00:00:00.000 1111184 1234567 1 2007-08-30 00:00:00.000 1111183 1234567 0 2007-08-01 00:00:00.000 1111182 1234567 1 2007-07-02 00:00:00.000 1111181 1234567 0 2007-06-01 00:00:00.000 1111180 1234567 1 2007-05-02 00:00:00.000 1111179 1234567 0 2007-03-30 00:00:00.000 1111178 1234567 1 2007-03-02 00:00:00.000 1111177 1234567 0 2007-02-01 00:00:00.000 1111176 1234567 1 2007-01-03 00:00:00.000 1111175 1234567 0 2006-11-29 00:00:00.000
В этом случае, только записи 1111188 и 1111187 будет последовательным.
... сделать строки имеют поле ID? – Swati 2008-09-24 12:24:30
Не могли бы вы разместить дополнительную информацию? Возможно выборка данных, чтобы мы могли видеть «последовательные» и «не последовательные» случаи. – 2008-09-24 12:28:18
Как уже отмечалось выше, ответ зависит от того, что вы рассматриваете как «последовательные» строки. Приведу пример. – rslite 2008-09-24 12:34:20