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

Вниз

БД, Вычисления,SQL   Найти похожие ветки 

 
Gogi   (2002-01-09 10:26) [0]

Здравствуйте! Hlp me pls, проблема в следуещем:
3 таблицы в Paradox (Tovar, Prihod, Rash), к Tovar. привязаны 2 другие.
- Пишем Query1:
Select Sum(kolP) As s_kol
from Prihod
where idn=:n
- Пишем Query2:
Select Sum(kolR) As s_kolR
from Rash
where idn=:n
1) Можно ли объединить 2 запроса в один?
Я пробовал видит одну переменную, которая первая прописана в Query
S_kol.
2) А главная задача (проблема) - записать в таблицу Tovar
разницу сумм "KolP" и "KolR" из подчиненных таблиц (Prihod и Rash).

У кого какие соображения, заранее благодарен.


 
sky3d ©   (2002-01-09 11:01) [1]

Можно использовать Union в случае с одинаковой структурой.
А зачем разносить 2 таблицы прихода и расхода, не достаточно иметь поле-признак и запрос очуществлять по одной таблице ?

А разницу зачем прописывать, если можно посчитать ?
плохой стиль...приводит к несоответствиям данных...


 
Gogi   (2002-01-09 11:52) [2]

- Union пробовал, "As s_kol" видит а вторую переменную "As s_kolP" нет!
- а две табл. для того чтоб видеть и расход и приход в динамике по датам и по цене,
по моему удобно (плюс обрабатывать дальше и т.д.).
- Разницу считать, а как? в этом и вопрос, если знаете подскажите pls.


 
sky3d ©   (2002-01-09 12:36) [3]

Select Sum(kolP) As s_kolp, 0 as s_Kolr
from Prihod where idn=:n

union

Select 0 as s_Kolp, Sum(kolR) As s_kolR
from Rash where idn=:n

Можно также сделать выборку select * from T where F = 1 (получим весь приход) где F = 1 - приход F = 2 - расход
Разницу считать так : суммируешь по товару все где признак приход
и отнимаешь расход - получаешь текущее значение.


 
Gogi   (2002-01-09 16:11) [4]

Все конечно хорошо, или я не правильно обьяснил, или я .......
А разницу я считаю так:
//procedure TForm1.Table2CalcFields(DataSet: TDataSet);
// var a: double;
// b: string;
//begin
// a:=query1s_kol.value-query2s_kolR.value;
// str(a:5:2,b);
// label5.caption:=b;
// end;
Но в конечном итоге надо записать в табл. "Tovar" напротив каждого наименования "Name" количество "Kol"
Заранее благодарен.



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

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

Наверх




Память: 0.47 MB
Время: 0.009 c
3-18782
Realy_Grey
2002-01-14 13:53
2002.02.07
где Oracle хранит список таблиц?


1-18883
mapnn
2002-01-19 15:16
2002.02.07
Как получить список ещё не созданных форм в Run Time?


1-18851
DJ X
2002-01-16 16:36
2002.02.07
From...


3-18733
ADy
2002-01-10 22:01
2002.02.07
SQL, Interbase


14-18987
DinaraRu
2001-12-17 23:27
2002.02.07
Альфа-тестеры