Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Подсчёт суммы в столбце Grid в строках, заданных условием. / 6 сообщений из 6, страница 1 из 1
09.03.2010, 22:26
    #36510202
АлексейБ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчёт суммы в столбце Grid в строках, заданных условием.
Суть:
Есть Grid1, данные в котором генерируются из таблицы. допустим вот грид:
ст1 ст2 ст3 ст4
1111 25 30 35
2222 30 30 30
2222 22 11 11
1111 45 45 45
1111 34 34 34
3333 11 11 11
3333 11 11 11

И вот необходимо подсчитать сумму в столбцах ст2, ст3 и ст4 тех строк, в которых ст1 имеет одинаковое значение. Т.е. сумму в ст2,ст3,ст4, где ст1=1111 . Ну а дальше соответственно 2222 и 3333.
Если кто может, помогите.
...
Рейтинг: 0 / 0
09.03.2010, 23:49
    #36510290
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчёт суммы в столбце Grid в строках, заданных условием.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
select ;
    ст1, ;
    sum(ст2) as sum2, ;
    sum(ст3) as sum3, ;
    sum(ст4) as sum4 ;
from MyTab ;
group by ст1
...
Рейтинг: 0 / 0
09.03.2010, 23:52
    #36510293
АлексейБ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчёт суммы в столбце Grid в строках, заданных условием.
авторselect ;
ст1, ;
sum(ст2) as sum2, ;
sum(ст3) as sum3, ;
sum(ст4) as sum4 ;
from MyTab ;
group by ст1
Спасибо!!! А как сразу можно записать полученный результат в другую таблицу с такими же полями?
...
Рейтинг: 0 / 0
10.03.2010, 00:04
    #36510305
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчёт суммы в столбце Grid в строках, заданных условием.
Это зависит от версии FoxPro и того факта, есть ли уже эта самая "другая" таблица или ее можно создать в процессе выполнения запроса.

Посмотрите справку по командам

Insert-SQL
Append From
...
Рейтинг: 0 / 0
10.03.2010, 01:31
    #36510370
АлексейБ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчёт суммы в столбце Grid в строках, заданных условием.
Сделал вот так

INSERT INTO otpr_itog (kod_pr, kod_izd, zoloto, serebro, platina, palladiy);
SELECT kod_pr, kod_izd,;
SUM(zoloto), SUM(serebro), SUM(platina), SUM(palladiy);
FROM promezh_tab;
GROUP BY kod_pr

выдаёт ошибку: SQL: GROUP BY clause is missing or invalid.
...
Рейтинг: 0 / 0
10.03.2010, 07:51
    #36510511
Kruchinin Pahan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчёт суммы в столбце Grid в строках, заданных условием.
АлексейБСделал вот так

INSERT INTO otpr_itog (kod_pr, kod_izd, zoloto, serebro, platina, palladiy);
SELECT kod_pr, kod_izd,;
SUM(zoloto), SUM(serebro), SUM(platina), SUM(palladiy);
FROM promezh_tab;
GROUP BY kod_pr

выдаёт ошибку: SQL: GROUP BY clause is missing or invalid.
Я бы вам такую же ошибку выдал. Я же не знаю, что вы хотите с kod_izd делать. И программа тоже не знает.

Вам надо либо сказать программе: я хочу группировать по полю Kod_Izd и тогда запрос будет выглядеть так:
Код: plaintext
1.
2.
3.
4.
5.
INSERT INTO otpr_itog (kod_pr, kod_izd, zoloto, serebro, platina, palladiy);
SELECT kod_pr, kod_izd,;
SUM(zoloto), SUM(serebro), SUM(platina), SUM(palladiy);
FROM promezh_tab;
GROUP BY kod_pr, kod_izd
Или вы не хотите группировать по полю Kod_Izd, а хотите получить какое-либо значение этого поля (максимум, минимум, среднее). Запрос тогда будет выглядеть так:
Код: plaintext
1.
2.
3.
4.
5.
INSERT INTO otpr_itog (kod_pr, kod_izd, zoloto, serebro, platina, palladiy);
SELECT kod_pr, MAX(kod_izd),;
SUM(zoloto), SUM(serebro), SUM(platina), SUM(palladiy);
FROM promezh_tab;
GROUP BY kod_pr
Ну, или MIN(kod_izd), или AVG(kod_izd), или COUNT(kod_izd)
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Подсчёт суммы в столбце Grid в строках, заданных условием. / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]