Вниз
Скачать: CL | DM;

Вопрос по SQL   Найти похожие ветки 

 
Max Zyuzin ©   (2002-09-13 11:43) [0]

Приветствую всех.
Возникла такая вот загвоздка...
Есть таблица, куда постоянно добавляются записи пусть будет Tab2, у нее 2 нужных поля - UserName (FK), Num.
Есть база в котороую преиодически збрасывается итог (суммируется по num) пусть будет tab1 у нее есть тоже 2 нужных поля UserName(PK), SumNum.
В общем необходимо посмотреть сколько всего num у нас на данный момент.
Строю примерно такой запрос -

select tab1.UserName, tab1.SumNum + sum(tab2.num)
from tab1 left join tab2
od tab1.UserName = tab2.UserName
group by tab1.UserName


На что мне говорят что поле tab1.SumNum нету не в агрегатных столбцах не в group by а мне надо бы сумму его с суммой num из tab2...

То есть

select tab1.UserName, tab1.SumNum, sum(tab2.num)
from tab1 left join tab2
od tab1.UserName = tab2.UserName
group by tab1.UserName, tab1.SumNum


так оно конечно работает... а можно ли сделать что бы они суммировались сразу и выдавались одним столбцрм?


 
ЮЮ ©   (2002-09-13 11:48) [1]

SELECT UserName,SumNum+SumNum2 SumAll from (
select tab1.UserName, tab1.SumNum, sum(tab2.num) SumNum2
from tab1 left join tab2
od tab1.UserName = tab2.UserName
group by tab1.UserName, tab1.SumNum
) SumQuery


 
ЮЮ ©   (2002-09-13 11:49) [2]

или
select tab1.UserName, sum(tab1.SumNum+tab2.num) SumNum
from tab1 left join tab2
od tab1.UserName = tab2.UserName
group by tab1.UserName, tab1.SumNum


 
ЮЮ ©   (2002-09-13 12:11) [3]

Кстати, tab2.num может оказаться NULL, что приведёт к проблемам при сложении, следует заменить на isNull(tab2.num,0) as num


 
Max Zyuzin ©   (2002-09-13 12:15) [4]

>ЮЮ © (13.09.02 12:11)
Совместив твой первый и последний ответ, получил нужный результат. спасибо :) (а то у меня были те самые проблеммы при сложении)



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.01 c
3-7829
Alex-kosmonavt
2002-09-12 15:24
2002.10.03
TQuery добавление записи с использованием SQL


1-7929
tytus
2002-09-23 20:11
2002.10.03
вторая форма - в том-то и дело что ошибку не показывает!!!!!!


1-7900
Гость324
2002-09-23 14:01
2002.10.03
Вопрос по описанию массива...


14-8160
Юра
2002-09-09 18:50
2002.10.03
DBGrid без мыши?


3-7801
karaf
2002-09-11 19:11
2002.10.03
TADOCommand.Cancel ?




   Наверх