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

Вниз

Уважаемые Мастера, вопрос по SQL...   Найти похожие ветки 

 
KMM   (2002-02-06 12:22) [0]

Есть три таблицы:
Firm:(фирмы)
id_firm //шифр фирмы
name_firm //название

Prih:(приходные накладные)
id_prih //шифр приходной накладной
id_firm //шифр фирмы
summ_prih //сумма приходной накладной

RAsh: (расходные накладные)
id_rash //шифр расходной накладной
id_firm //шифр фирмы
summ_rash //сумма расходной накладной

Мне необходимо в результате запроса получить список фирм и для каждой из них суммарный приход и суммарный расход

Пишу что-то вроде:
SELECT
firm.id_firm, firm.name_firm,
Sum(prih.summ_prih) AS PRIHOD,
Sum(rash.summ_rash) AS RASHOD
FROM (firm LEFT JOIN prih ON firm.id_firm = prih.id_firm)
LEFT JOIN rash ON firm.id_firm = rash.id_firm
GROUP BY firm.id_firm, firm.name_firm

Однако это неправильно, судя по результатам (суммирование происходит многократное).
Подскажите, пожалуйста как решить эту проблему.


 
skiph ©   (2002-02-12 07:47) [1]

У меня было нечто подобное, но я так и не сумел рабочий запрос состряпать. Пришлось выполнять по отдельности 3 запроса, а затем переносить данные из них во вспомогательную табличку так, как надо.


 
Леша   (2002-02-12 09:18) [2]

select id_firm, nm_firm,
(select sum(summ_prih) from Prich where Prich.id_firm=Firm.id_firm) as prihod,
(select sum(summ_rach) from Rach where Rach.id_firm=Firm.id_firm) as rashod from firm


 
KMM   (2002-02-13 11:03) [3]

>Леше : Не работает.

Интересно, эта задача вообще решается (в смысле - одним запросом)?


 
KMM   (2002-02-13 11:45) [4]

>Леше. Дико извиняюсь, РАБОТАЕТ!!! (я сначала ошибся при проверке). Премного благодарен!

>skiph. Я тоже делал это через вспомогательную таблицу, а оказывается это можно решить проще. Ура!




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

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

Наверх




Память: 0.47 MB
Время: 0.011 c
14-32563
Егор
2002-01-18 08:51
2002.03.11
Microsoft Agent


3-32414
Vadim
2002-02-12 16:36
2002.03.11
ODAC


1-32494
AlexMey
2002-02-25 01:25
2002.03.11
Вопрос по поводу конвертирования string во float и про функцию StrToFloat()


14-32565
Dimitry_I
2002-01-28 14:50
2002.03.11
Помогите, очень прошу


3-32427
olkononov
2002-02-08 15:32
2002.03.11
bde сохраняет только последние данные!!!почему?