![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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=значение