Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / найти цен доставки бандеролов / 2 сообщений из 2, страница 1 из 1
24.09.2009, 10:27
    #36214194
aqil_f
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
найти цен доставки бандеролов
Есть таблица NORMATIV.DBF. По нормативу есть 4 зона. По каждому зону и по разному весы (kq0_1, kq1_10, kq10_20, kq20_40, kq40_cox) бандероли - разные цены.
Если мне известно номер зоны и вес бандеролов как можно найти их цены?

Например, если номер зоны =3, вес бандеролов =9 (kq1_10), тогда цена будеть =7,05
...
Рейтинг: 0 / 0
24.09.2009, 10:54
    #36214283
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
найти цен доставки бандеролов
Насколько я понял, вопрос заключается в том, как в зависимости от условия выбрать разные поля в одном и том же запросе

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
do case
case (вес <=  1 )
	FieldName = "kq0_1"
case (вес >  1  and вес <= 10 )
	FieldName = "kq1_10"
case (вес >  10  and вес <= 20 )
	FieldName = "kq10_20"
case (вес >  20  and вес <= 40 )
	FieldName = "kq20_40"
otherwise
	FieldName = "kq40_cox"
endcase

select evaluate(FieldName) as Price from normative where zona =  3 

Можно организовать Case и в самом запросе, если "вес" - это поле другой таблицы. Хотя, конечно, разумнее нормализовать структуру данных, убрав кучу полей kq заменив их на одно и дополнительную таблицу с интервалами весов.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / найти цен доставки бандеролов / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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