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

Вниз

связывание таблиц   Найти похожие ветки 

 
perov   (2002-02-20 10:33) [0]

есть три таблицы (скажем счета, приход, расход). как правильно составить запрос, чтобы выбиралось суммарное движение по ВСЕМ счетам, а не только по тем, информация по которым есть и в приходе и в расходе (если движений не было, то должен выбраться 0)


 
xcb   (2002-02-20 10:44) [1]

подробнее о структуре если можно...

а вообще примерно так

select a.id_shet, ss.name, a.p_sum , a.r_sum, a.p_sum - a.r_sum ost_sum
from
(select s.id_shet, sum (p.summ) p_sum, sum (r.summ) r_sum
from shet s, prixod p, rasxod r
where s.id_shet = p.id_shet (+)
and s.id_shet = r.id_shet (+)
group by s.id_shet) a, shet ss
where a.id_shet = ss.id_shet



 
xcb   (2002-02-20 10:48) [2]

да... забыл про нули...
не sum (p.summ) p_sum
a nvl(sum (p.summ), 0) p_sum
и nvl(sum (r.summ), 0) r_sum
...


 
perov   (2002-02-20 11:08) [3]

accounts (id numeric, name char(10), ........)
payments (accid numeric, odate date, summa numeric (15,2), type char (1), .....)
calculations (accid numeric, docdate date, forpayment numeric (15,2), type char(1), ..... )


 
perov   (2002-02-20 12:51) [4]

запрос работает,
но если я дабавляю условия, например, по дате, то запрос выдает неверные данные :(((


 
xcb   (2002-02-20 15:37) [5]

select a.id_shet, ss.name, a.p_sum , a.r_sum, a.p_sum - a.r_sum ost_sum
from
(select s.id_shet,
nvl(sum (p.summ), 0) p_sum,
nvl(sum (r.summ), 0) r_sum
from shet s,
(select id_shet, sum(summ) from (select id_shet, summ
from prixod where docdate between :begdat and :enddat)) p,
(select id_shet, sum(summ) from (select id_shet, summ
from rashod where docdate between :begdat and :enddat)) r
where s.id_shet = p.id_shet (+)
and s.id_shet = r.id_shet (+)
group by s.id_shet) a, shet ss
where a.id_shet = ss.id_shet

где :begdat и :enddat переменные соотв начало и конец периода...



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

Форум: "Базы";
Текущий архив: 2002.03.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.005 c
3-66758
Sheva
2002-02-21 12:17
2002.03.21
Dos-Win кодировки.


1-66813
AndrewK
2002-03-07 10:12
2002.03.21
Как выполнить команду из Delphi


14-66981
Mike_Goblin
2002-01-27 18:09
2002.03.21
Кто смотрел кино


1-66930
Yaro
2002-03-06 14:54
2002.03.21
Загрузка ActiveX компонентов


1-66816
user_
2002-03-07 08:45
2002.03.21
Как узнать код комбинации Alt+Enter?





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