-
Всем привет. Есть запрос
select min(sp_ls.mnn),
min (sp_ls.tr_nm) ,
count ( full_orders.id_ls),
sum(full_orders.na_mes)
from full_orders , sp_ls
where Full_orders.Код in (397,938,940)
and full_orders.id_ls=sp_ls.код
group by sp_ls.tr_nm
Подскажите почему не считается сумма sum(full_orders.na_mes) . Выдает значение 0.5
-
> Подскажите почему не считается сумма sum(full_orders.na_mes). Выдает значение 0.5 считается, раз значение выдает, значит считается. не устраивает значение? - поменяй условие "по вкусу".
-
> поменяй условие "по вкусу" желательно на более очевидные "джойны" с неявных объединений условием.
-
> Выдает значение 0.5
а сколько должно? 0.7? или литр?
-
select * /* min(sp_ls.mnn), min (sp_ls.tr_nm) , count ( full_orders.id_ls), sum(full_orders.na_mes) */ from full_orders , sp_ls where Full_orders.Код in (397,938,940) and full_orders.id_ls=sp_ls.код /* group by sp_ls.tr_nm */
а дальше карандаш в руки и считать столбиком.
-
а нафига группировать, если здесь все агрегаты посчитаются по всей вообще выборке, а не по группам?
-
>кгшзх © (26.03.15 21:36) [5] или вы владеете информацией о содержимом этих таблиц, или Вас ввёл в заблуждение: "min (sp_ls.tr_nm)" агрегаты посчитаются по всем разным sp_ls.tr_nm
-
агрегаты посчитаются по всем разным sp_ls.tr_nm
Ага. "В вашем доме будет играть музыка, но вы ее не услышите"
Даже если посчитает по группам, то челу придется догадываться к какой группе относится кажная строка с агрегатами. потому что самого группирующего поля в списке селекта нетути.
select min(sp_ls.mnn), min (sp_ls.tr_nm) , count ( full_orders.id_ls), sum(full_orders.na_mes)
-
>кгшзх © (27.03.15 18:14) [7] есть же: min (sp_ls.tr_nm)
|