|
значение поля предыдущей строки аксесс, запрос SQL (без VBA)
|
|||
---|---|---|---|
#18+
Коллеги, всем привет! Возник затуп с простым вопросом , как при помощи одного SQL реализовать запрос ,в котором в дополнительном расчетном поле будет выводиться значение поля предыдущей строки. Есть к примеру таблица ДОХОДЫ, с двумя полями ПЕРИОД (текст) и ДОХОД (обычное число) Как написать правильно запрос таким образом, чтобы дополнительное поле в запросе выводило значение поля ДОХОД предыдущей записи? В VBA не надо . Пример где снимается значение с привязкой к к значению счетчика также не надо. Нужно именно предыдущей строки. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2016, 18:56 |
|
значение поля предыдущей строки аксесс, запрос SQL (без VBA)
|
|||
---|---|---|---|
#18+
Сергей Лалов....Как написать правильно запрос таким образом, чтобы дополнительное поле в запросе выводило значение поля ДОХОД предыдущей записи?....А относительно какой? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2016, 20:40 |
|
значение поля предыдущей строки аксесс, запрос SQL (без VBA)
|
|||
---|---|---|---|
#18+
sdku, Относительно recordset.moveLast ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2016, 21:31 |
|
значение поля предыдущей строки аксесс, запрос SQL (без VBA)
|
|||
---|---|---|---|
#18+
Сергей Лаловкак при помощи одного SQL реализовать запрос ,в котором в дополнительном расчетном поле будет выводиться значение поля предыдущей строки. Для этого обязано существовать идентифицирующее (уникальное в пределах группы сортировки) поле, для которого определена операция сравнения. Суть запроса элементарна. Берётся две копии таблицы, выполняется отбор по этому идентифицирующему полю так, чтобы во второй копии оно было меньше, чем в первой. Группируем по полю первой копии и берём максимум по второй копии. Получаем пару идентифицирующих значений. Привязывая к ним ещё две копии таблицы, получаем полные записи. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 09:08 |
|
значение поля предыдущей строки аксесс, запрос SQL (без VBA)
|
|||
---|---|---|---|
#18+
Akina Для этого обязано существовать идентифицирующее (уникальное в пределах группы сортировки) поле, для которого определена операция сравнения. Суть запроса элементарна. Берётся две копии таблицы, выполняется отбор по этому идентифицирующему полю так, чтобы во второй копии оно было меньше, чем в первой. Группируем по полю первой копии и берём максимум по второй копии. Получаем пару идентифицирующих значений. Привязывая к ним ещё две копии таблицы, получаем полные записи. Большое спасибо за методику подхода. А можете показать текст запроса на уровне моих полей в таблице? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 16:32 |
|
значение поля предыдущей строки аксесс, запрос SQL (без VBA)
|
|||
---|---|---|---|
#18+
Пользуясь методикой, составьте запрос самостоятельно. Причём не весь сразу, а пишите фрагменты по шагам, постепенно наращивая текст запроса. Результат работы (не конечный, а именно по шагам с пояснениями) - выкладывайте. Если в нём будут ошибки - я покажу где и объясню как и почему. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 17:17 |
|
значение поля предыдущей строки аксесс, запрос SQL (без VBA)
|
|||
---|---|---|---|
#18+
AkinaПользуясь методикой, составьте запрос самостоятельно. Причём не весь сразу, а пишите фрагменты по шагам, постепенно наращивая текст запроса. Результат работы (не конечный, а именно по шагам с пояснениями) - выкладывайте. Если в нём будут ошибки - я покажу где и объясню как и почему. В общем то получается запрос вида: Код: sql 1. 2. 3.
Каюсь, что нашел алгоритм в шпаргалке, на этом сайте. Но разобрался. Ключевым моментом здесь является именно сортировка основной таблицы и её копии в разных направлениях с выборкой первой записи из копии, отсортированной в обратном порядке. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 20:37 |
|
|
start [/forum/topic.php?fid=45&msg=39147737&tid=1614063]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 130ms |
0 / 0 |