|
Как в запросе, сложить суммы N-й строки табличной части? | ☑ | ||
---|---|---|---|---|
0
Галахад
гуру
30.05.14
✎
07:41
|
Табличная часть "Товары".
Реквизит "Сумма". Допустим нужно получить сумму всех вторых строк. |
|||
1
Галахад
гуру
30.05.14
✎
07:41
|
Да, на "НомерСтроки" не опираемся.
|
|||
2
shuhard
30.05.14
✎
07:42
|
(1) нелепая затея, через минуту юзер пересортирует ТЧ и усё накроется
|
|||
3
Галахад
гуру
30.05.14
✎
07:45
|
(2) Мне разово данные получить. Потом хоть потоп. :-)
|
|||
4
shuhard
30.05.14
✎
07:46
|
(3) топись
|
|||
5
Лодырь
30.05.14
✎
07:47
|
(3) Ну бери тогда любую строку. Она всегда может стать второй.
|
|||
6
Галахад
гуру
30.05.14
✎
07:47
|
(4) Фигу.
|
|||
7
Галахад
гуру
30.05.14
✎
07:50
|
(5) Оптимистично. :-)
|
|||
8
Лодырь
30.05.14
✎
07:53
|
(7) На самом деле, понятие "вторая строка" явно опирается исключительно на номера строк которые ты сказал не юзать. В остальном порядок строк на выходе запроса к это табличке будет хз каким. Следовательно, без номера строки не обойтись.
|
|||
9
1dvd
30.05.14
✎
07:55
|
без "НомерСтроки" у строк нет порядка
|
|||
10
Галахад
гуру
30.05.14
✎
07:56
|
(8), (9) Я упорядочу их по убыванию реквизита.
|
|||
11
Лодырь
30.05.14
✎
07:56
|
Вообще, если ты сможешь строго упорядочить строки в запросе - то вторая строка выбиравется легко.
|
|||
12
Лодырь
30.05.14
✎
07:57
|
Ну тогда скрести таблицу саму с собой, выбери количество вышележащих и выбери ту у которой оно равно 1.
|
|||
13
13_Mult
30.05.14
✎
07:57
|
В чём смысл складывать именно вторые? Чем они отличаются от первых? ))
|
|||
14
Лодырь
30.05.14
✎
07:58
|
(13) Это же очевидно. Они вторые ) а те первые.
|
|||
15
shuhard
30.05.14
✎
07:59
|
(10)[Я упорядочу их по убыванию реквизита.]
а если реквизит имеет дубли ? |
|||
16
Мутабор
30.05.14
✎
07:59
|
SELECT SUM WHERE НомерСтроки = 2
|
|||
17
SeraFim
30.05.14
✎
07:59
|
Получаешь все первые. Исключаешь их из исходной выборки. Получаешь все первые из полученной выборки
|
|||
18
Галахад
гуру
30.05.14
✎
08:02
|
(12) Гм. Непонятно.
(13), (14) :-) (15) Это не важно. (17) Это как? Созрели идея, соединить с табличкой номеров. Наверное так проще будет. |
|||
19
этописеЦ
30.05.14
✎
08:04
|
(18) соединяешь таблицу с самой собой - нумеруешь строки, далее по условии четнсоти делаешь что надо
|
|||
20
SeraFim
30.05.14
✎
08:04
|
(18) >> соединить с табличкой номеров
По какому условию соединять будешь?) |
|||
21
YurAnt
30.05.14
✎
08:04
|
(17) выбирать каждую первую строку? это очень пятнично)
|
|||
22
echo77
30.05.14
✎
08:04
|
Нумеруй строки в запросе:
http://kb.mista.ru/article.php?id=703 |
|||
23
SeraFim
30.05.14
✎
08:05
|
(21) а "сумма всех вторых строк" тебя не смутила?)))
|
|||
24
этописеЦ
30.05.14
✎
08:06
|
(23) пацан к успеху шол )
|
|||
25
YurAnt
30.05.14
✎
08:06
|
(23) ну сумма всех вторых строк это уже логическое завершение выборки всех первых строк)
|
|||
26
YurAnt
30.05.14
✎
08:08
|
(23) эти цитаты должны уйти в "пятницо" 100% xD
|
|||
27
SeraFim
30.05.14
✎
08:12
|
Ладно уж, разжую, что я имел в виду.
Из (10) >> Я упорядочу их по убыванию реквизита То есть в каждой "первой строке" по группировке будет максимальное значение. Можно взять МАКСИМУМ() По группировке, тогда получим только "первые строки". Исключаем их из исходной группировки. Полученную группировку - делаем то же самое) Единственная проблема - если есть строки с одинаковыми значениями реквизита. Но "это уже тактика, а Я стратег". |
|||
28
SeraFim
30.05.14
✎
08:13
|
(27) Полученную группировку = Полученную выборку
|
|||
29
SeraFim
30.05.14
✎
08:23
|
(27)Примерчик
http://s019.radikal.ru/i608/1405/fe/2d356483104a.png |
|||
30
shuhard
30.05.14
✎
08:25
|
(27) угу
в (15) про дубли ключа вопрос задан в (18) получен ответ, что это не важно похоже у ТС нет реальных данных и проще всего ему отказаться от запроса и использовать тупую ТЗ |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |