Главная страница
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.01 c
1-18864
VID
2002-01-22 11:43
2002.02.07
Передача и ПОЛУЧЕНИЕ команд от одной проги к другой.


3-18772
Макс
2002-01-11 15:28
2002.02.07
Реализация UpdateSQL на ADO


1-18877
Shadow77
2002-01-23 09:22
2002.02.07
Перетаскивание формы за Label?


1-18848
Eraser
2002-01-21 15:38
2002.02.07
Погибаю в пучине потоков (уже давно)


3-18732
Oleg Fomicheff
2002-01-04 03:33
2002.02.07
Как прикрутить DLL от BDE?