|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
05.09.2016, 14:14 | #1 |
Пользователь
Регистрация: 05.09.2016
Сообщений: 16
|
Сумма по строкам с одинаковым ID
Суть задачи: в выходной таблице просуммировать данные второго атрибута, если id одинаковые (дублирующие)
на входе: id quan qwe 1 wer 2 wer 5 ert 3 wer 2 на выходе необходимо: id quan qwe 1 wer 9 ert 3 подскажите новичку, пожалуйста, что делаю не так? select id, case id when (count(id)>=1) then sum(quan) else quan end id from таблица group by id; Последний раз редактировалось nintiniom; 05.09.2016 в 14:50. |
05.09.2016, 14:27 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
select id,sun(quan) from table group by id;
вроде как-то так. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
05.09.2016, 14:36 | #3 |
Пользователь
Регистрация: 05.09.2016
Сообщений: 16
|
|
05.09.2016, 14:48 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
да нет же, это то, что Вам нужно.
только опечатка sun -> sum() Код:
p.s. а вообще, ID - от слова identifier (идентификатор) - это обычно уникальное ключевое поле. Если ID повторяется, то это уже не ID совсем... Последний раз редактировалось Serge_Bliznykov; 05.09.2016 в 14:51. |
05.09.2016, 15:03 | #5 | |
Пользователь
Регистрация: 05.09.2016
Сообщений: 16
|
Цитата:
да нет же, понятно что это sum) p.s. таблица упрощена - id это один из ключей. есть еще атрибуты которые в процессе убираю (id - это код товара, который есть в наличии, а quan - количество оставшегося товара; id повторяются, потому что был еще ключ.столбец - партия. То есть один и тот же товар, но с разным номером партии) а в итоге вне зависимости от того в какой партии товар пришел необходимо посчитать общее количество каждого id товара ... Последний раз редактировалось nintiniom; 05.09.2016 в 15:06. |
|
05.09.2016, 15:08 | #6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Так покажи не упрощенный вариант. А ответ дали совершенно определенный для того, что спрашивалось
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
05.09.2016, 15:18 | #7 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
select id,sum(quan) from table group by id; и подсчитает количество товара по каждому id (вне зависимости от партии) Вы запрос проверяли вообще? Он сработал? Что-то не так? Что конкретно? |
|
05.09.2016, 15:33 | #8 | ||
Пользователь
Регистрация: 05.09.2016
Сообщений: 16
|
разумеется и до этого тоже
Цитата:
Цитата:
выбираю через максимальное значение - только в тех строках где есть несколько партий естественно выдает максимальное значение SELECT FLBCFS1, max(FLTRQT) FROM PRODDTA.F55L12IB INNER JOIN PRODDTA.F554106 on RPITM = FLITM and RPY55AP = 'Y' and RPY55CR = 'Y' INNER JOIN PRODDTA.f4101 on IMITM = FLITM and IMPRP9 = '200' and FLTRQT > 0 AND FLDGL = 116246 GROUP BY FLBCFS1 |
||
05.09.2016, 15:43 | #9 |
Пользователь
Регистрация: 05.09.2016
Сообщений: 16
|
из-за join-a он троит данные - просто добавила
sum(FLBCFS1)/3 и то что надо выдает спасибо всем!!! |
05.09.2016, 15:44 | #10 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
для этого существуют именные JOIN-ы, чтоб было однозначно видно, откуда что берется.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Написать коментарии к двум строкам строкам в программе на VBA | Yurec2407 | Помощь студентам | 2 | 30.01.2015 12:54 |
Много ComboBox-ов с одинаковым диапазоном | Tigranik | Microsoft Office Excel | 2 | 30.01.2013 17:10 |
написать программу которая вводит по строкам с квеатуры двумерные массивы и вычисляет сумму его элементов по строкам | таня99 | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 23.05.2012 20:23 |
Одинаковым данным-одинаковый номер! | Любопытная | Microsoft Office Excel | 16 | 03.08.2011 10:16 |
Двухмерный массив данных - поиск максимального, сумма по строкам (используя StringGrid в Delphi) | Ленуся)) | Помощь студентам | 1 | 21.06.2011 13:21 |