Главная страница
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.011 c
3-18769
Serhy
2002-01-12 02:30
2002.02.07
Index is out of date


3-18736
avt
2002-01-09 23:27
2002.02.07
QReport формат А3


1-18905
DJ X
2002-01-22 11:37
2002.02.07
Заголовок DLL


3-18719
Борис
2002-01-10 09:37
2002.02.07
Пропадают все записи в таблицах


6-18945
Hawk
2001-11-13 18:49
2002.02.07
Connect между TServerSocket и TClientSocket по сети