Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

sql запрос ........... [D7, IB6.x]


stud ©   (2003-08-25 10:55:00) 

есть две таблицы.

USLUGI_SPR (
KOD INTEGER NOT NULL,
parent integer
.................
............

и

USL_PRICE (
KOD INTEGER NOT NULL,
ID INTEGER,
PRICE FLOAT)

первая - справочник, во второй храняться цены, связь kod-kod
цен на один kod может быть сколько угодно

нужно сделать update второй таблицы такой:
USL_PRICE.price=(выражение для расчета) где USL_PRICE.kod=USLUGI_SPR.kod и USLUGI_SPR.parent=значение
причем выражение для расчета такое ((USL_price.price where USL_price.id=1)/100*A)
надеюсь понятно)))


Zacho   (2003-08-25 12:17:00) [1]

Да, небольшое дополнение.
Подозреваю, что PRICE - это цена ? Тогда зря ты сделал это поле типа FLOAT, большие проблемы с точностью будут. Если работаешь в диалекте 1 - то лучше DOUBLE PRECISION, в диалекте 3 - NUMERIC или DECIMAL.


stud   (2003-08-25 11:53:00) [2]

ага, почти


Zacho   (2003-08-25 11:24:00) [3]

Не совсем понятно, что именно нужно, но возможно так ?
UPDATE USL_PRICE
SET USL_PRICE.PRICE=(SELECT UP.price/100*A FROM USL_PRICE UP where UP.id=1)
WHERE USL_PRICE.kod=значение AND USLUGI_SPR.parent=значение


Наверх

Титульная страница Поиск, карта сайта Написать письмо