Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.03.11;
Скачать: [xml.tar.bz2];

Вниз

Уважаемые Мастера, вопрос по 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.025 c
3-32400
vitnt2000
2002-02-12 08:56
2002.03.11
Доступ к базе без BDE


1-32478
Geser
2002-02-23 21:16
2002.03.11
RxLib und D6


1-32444
USVER
2002-02-21 23:49
2002.03.11
Обмен значений


3-32397
BJValentine
2002-02-08 13:39
2002.03.11
DBF ---> MS SQL


1-32498
Dima Kopachev
2002-02-25 03:03
2002.03.11
Компоненты как у Netscape 6





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский