Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите дописать недостающие командные строчки, есть ли такие команды в FPV6? 
V
    Опции темы
laveno
Дата 30.12.2010, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 30.12.2010

Репутация: нет
Всего: нет



Здравствуйте!

Зашел в тупик. Помогите дописать недостающие командные строчки.

В имеющейся базе данных DBF VFP6 есть два поля символьный и числовой:

name  quantity
a     34
a     2
a     5
a     8
b     8
b     1
b     2
b     1
c     5
c     8
c     85

нужно програмно получить то, что я зделал вручную ниже

например, начнем с 

sum quantity for name='a'
запомнить сумму по а
sum quantity for name='b'
запомнить сумму по b
sum quantity for name='c'
запомнить сумму по c
проиндексировать полученные суммы по убыванию
вывести-сохранить результат в виде базы таблицы или текстовика

т.е. сложить значения отдельно по a, b, c
а затем осортировать в таблице по убыванию
данные вывести в результирующую таблицу или текстовик

результат

name  quantity
c     98
a     49
b     12

Благо дарю за помощь !
С наступающим 2011 новым годом! 
PM MAIL   Вверх
laveno
Дата 30.12.2010, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 30.12.2010

Репутация: нет
Всего: нет



Посоветовали в коде SQL: 

 select name, sum(quantity) summ
  from table
 group by name
 order by summ desc

Однако, как это будет выглядеть в командах FPV6?
PM MAIL   Вверх
Данкинг
Дата 31.12.2010, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 7
Всего: 130



Тебе даже запрос написали, чего ещё надо? smile 
Код

select name, sum(quantity) summ from DBF()group by name order by summ DESC INTO table summa


Это сообщение отредактировал(а) Данкинг - 31.12.2010, 00:08


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
laveno
Дата 31.12.2010, 06:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 30.12.2010

Репутация: нет
Всего: нет



Цитата(Данкинг @ 31.12.2010,  00:07)
Тебе даже запрос написали, чего ещё надо? smile 
Код

select name, sum(quantity) summ from DBF()group by name order by summ DESC INTO table summa

smile Благодарю, щас проверю как работает
PM MAIL   Вверх
laveno
Дата 31.12.2010, 08:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 30.12.2010

Репутация: нет
Всего: нет



базу набрал, смотри в аттечменте


на предлдоженную коммандную линию 

select table1.name, sum(table1.quantity) as quantity1 from table1 GROUP BY  table1.name ORDER BY quantity1 DESC INTO TABLE table2

выдает ошибку

SQL - Aggregate on non numeric expression



Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  table1.dbf 0,41 Kb
PM MAIL   Вверх
Данкинг
Дата 31.12.2010, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 7
Всего: 130



У тебя поле quantity текстовое, а я тестил на числовом. Тогда бери VAL:
Код

select table1.name, sum(VAL(table1.quantity)) as quantity1 from table1 GROUP BY  table1.name ORDER BY quantity1 DESC INTO TABLE table2



--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
laveno
Дата 1.1.2011, 08:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 30.12.2010

Репутация: нет
Всего: нет



Цитата(Данкинг @ 31.12.2010,  11:23)
У тебя поле quantity текстовое, а я тестил на числовом. Тогда бери VAL:
Код

select table1.name, sum(VAL(table1.quantity)) as quantity1 from table1 GROUP BY  table1.name ORDER BY quantity1 DESC INTO TABLE table2

Да, в этом и проблема, ошибка была заложена. Поменял символьное на числовое - и сразу заработало.

Много Благодарен всем за помощь smile

С НОвым 2011 !
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Foxpro/Clipper/Dbase"
MoLeX

Запрещается!

1. Публиковать ссылки для чисто рекламных целей.

2. Оффтопить, флеймить, говорить не культурно.

Пожалуйста, адекватно задавайте свой вопрос. Тема должна создаваться с названием характеризующем Вашу проблему.

Задавайте вопросы правильно - как спросите, так вам и ответят.

Разрешено!

Давать ссылки на статьи, обзоры, если это не нарушает первый пункт правил.

Задавая вопрос, давайте нужную информацию касающуюся Вашей проблемы. Этим вы ускорите полезные ответы.

P.S. Размещение рекламы будет строго наказываться!



Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MoLeX

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Foxpro/Clipper/Dbase | Следующая тема »


 




[ Время генерации скрипта: 0.0449 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.