Как переделать алгоритм из формулы Excel для Access в SQL

baitokberik
Дата: 15.12.2015 08:42:01
Доброго времени суток!
Не хватает знаний! Имеется таблица в Access в которой нужно создать новый столбец с нарастающим подсчетом по идентификатору.
красным цветом пометил мой алгоритм в excel, но не получается прописать на SQL(((((((

1 10 10 ЕСЛИ(A2=A1;B2+C1;B2)
1 20 30 ЕСЛИ(A3=A2;B3+C2;B3)
1 30 60 ЕСЛИ(A4=A3;B4+C3;B4)
2 10 10 ЕСЛИ(A5=A4;B5+C4;B5)
2 20 30 ЕСЛИ(A6=A5;B6+C5;B6)
3 10 10 ЕСЛИ(A7=A6;B7+C6;B7)
3 20 30 ЕСЛИ(A8=A7;B8+C7;B8)
3 30 60 ЕСЛИ(A9=A8;B9+C8;B9)
3 40 100 ЕСЛИ(A10=A9;B10+C9;B10)
4 10 10 ЕСЛИ(A11=A10;B11+C10;B11)
4 20 30 ЕСЛИ(A12=A11;B12+C11;B12)
4 30 60 ЕСЛИ(A13=A12;B13+C12;B13)
Как прописать подобный алгоритм на языке SQL?????
Akina
Дата: 15.12.2015 09:14:38
Возьми две копии таблицы. Объедини по t1.group=t2.group and t1.order<=t2.order, сгруппируй по t2 и подсчитай сумму по t1. Полученную выборку свяжи с третьей копией таблицы.
В рамках MS Access то же можно реализовать с помощью DSum().
baitokberik
Дата: 15.12.2015 09:23:57
А как использовать DSum???? никогда не использовал! можно пример какой нибудь а?)
Akina
Дата: 15.12.2015 10:38:33
Поиск по форуму вроде бы нормально работает...
baitokberik
Дата: 15.12.2015 12:55:11
да просто написал, да dsum кривовастенько работает, млж я чё напутал.

Дата товар отгрузка as1
14.01.2008 A 9 25
12.01.2008 A 8 25
08.01.2008 A 8 25
13.01.2008 B 6 18
06.01.2008 B 6 18
03.01.2008 B 6 18
15.01.2008 C 4 12
07.01.2008 C 4 12
05.01.2008 C 4 12
10.01.2008 E 7 23
09.01.2008 E 9 23
04.01.2008 E 7 23
11.01.2008 F 2 6
02.01.2008 F 4 6

as1-результат, а должен был в этом поле дать 9, 17, 25, 6,12,18,4,8,12...

as1: DSum("отгрузка";"T1";"товар='" & [товар] & "'")
__Michelle
Дата: 15.12.2015 13:23:10
Ничего не "кривовастенько" - это если про DSum.
Там получились суммы за весь период, а надо было, видимо, учесть дату.
DSum("отгрузка";"T1";"товар='" & [товар] & "' AND Дата<=" & <нужная дата>) 
baitokberik
Дата: 15.12.2015 14:52:41
нет извините, не правильно описал проблему. дата ваще не нужна. нужно чисто по полю товар и чтобы суммировал с нарастанием поле отгрузка
Шыфл
Дата: 15.12.2015 15:32:37
baitokberik,

С нарастанием относительно чего, если не даты? Номера строки, штоле?
baitokberik
Дата: 15.12.2015 16:22:47
А почему бы и нет? Закину на перед таблицы строку ID с нумерации строк.

id товар отгрузка as1
1 A 9 25
2 A 8 25
3 A 8 25
4 B 6 18
5 B 6 18
6 B 6 18
7 C 4 12
8 C 4 12
9 C 4 12
10 E 7 23
11 E 9 23
12 E 7 23
13 F 2 6
14 F 4 6

as1-результат, а должен был в этом поле дать 9, 17, 25, 6,12,18,4,8,12...
__Michelle
Дата: 15.12.2015 16:32:53
baitokberik
а должен был в этом поле дать 9, 17, 25, 6,12,18,4,8,12...
Сначала кое-кто должен был правильно составить запрос.
Уж не говорю, понять, как задается последовательность отгрузок.