![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите написать SQL запрос... [D7, XP]
ixen © (2011-07-28 14:29:00)СУБД Firebird... вобщем суть в следующем.. есть таблица
clientsсправочник клиентов, иmovesих заказы
clients
Id- первичный ключ
client_name- имя клиента
summ- сумма заказов
moves
Id- первичный ключ
client_id- id клиента
kolvo- количество
price- цена единицы
нужно записать в поле sum таблицы clients стоимость всех их заказов...
можно ли сделать это одним запросом?
пока остановился на следующем... дальше не могу сообразить...
update clients set summ=(select cast(sum(m.kolvo*m.price)as numeric(15,2)) from clients c join moves m on c.id=m.client_id where m.type_doc in ('U','M'))
в результате происходит запись всем клиентам одну и туже сумму...
Dennis I. Komarov (2011-07-28 15:26:00) [1]цена - "price", а вот количество "kolvo"
ixen (2011-07-28 14:53:00) [2]все работает.. спасибо большое...
Омлет (2011-07-28 14:41:00) [3]UPDATE clients c
SET summ = (
SELECT CAST(SUM(kolvo * price) AS NUMERIC(15,2))
FROM moves m
WHERE (c.id = m.client_id) AND (m.type_doc in ('U', 'M'))
);