Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.11.20;
Скачать: CL | DM;

Вниз

Помогите написать SQL запрос...   Найти похожие ветки 

 
ixen   (2011-07-28 14:29) [0]

СУБД 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"))

в результате происходит запись всем клиентам одну и туже сумму...


 
Омлет ©   (2011-07-28 14:41) [1]

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"))
);


 
ixen   (2011-07-28 14:53) [2]

все работает.. спасибо большое...


 
Dennis I. Komarov ©   (2011-07-28 15:26) [3]

цена - "price", а вот количество "kolvo"



Страницы: 1 вся ветка

Текущий архив: 2011.11.20;
Скачать: CL | DM;

Наверх




Память: 0.44 MB
Время: 0.003 c
3-1266481358
RandomWalker
2010-02-18 11:22
2011.11.20
Выделение записей в зависимых таблицах.


1-1273589288
guest
2010-05-11 18:48
2011.11.20
Закорючки в Excel


6-1245392255
SortoVaritu
2009-06-19 10:17
2011.11.20
Вопрос по FtpGetFile


15-1311830801
George
2011-07-28 09:26
2011.11.20
Сравнение текстов


15-1311210934
fzt
2011-07-21 05:15
2011.11.20
Окно подсказок по исходникам





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский