Frostich
Дата: 30.01.2013 14:10:01
Хелп ми ! Подскажите к примеру имеется таблица A
ID , AdresID , NomenID, KOLVO,DATE_PRODAGI
Хочу получить таблицу типа
ID , AdresID , NomenID , (SUM (KOLVO) from A where DATE_PRODAGI between '01.01.2012' and '01.02.2012') AS 01,(SUM (KOLVO) from A where DATE_PRODAGI between '01.02.2012' and '01.03.2012') AS 02 И Т.Д.
В данном случае
select adresid , nomenid ,
(select sum (kolvo) from a a2 where DATE_PRODAGI between '01.01.2012' and '01.02.2012' and a2.adresid=a.adresid and a2.nomenid=a.nomenid )
,(select sum (kolvo) from a a2 where DATE_PRODAGI between '01.02.2012' and '01.03.2012' and a2.adresid=a.adresid and a2.nomenid=a.nomenid )
from a group by adresid , nomenid
При условии что записей накопилось несколько миллионов то время запроса ужасное , есть варианты как оптимизировать? Спасибо заранее.
Мистер Хенки
Дата: 30.01.2013 14:24:31
ну там индекс по (adresid , nomenid,date_prodagi) include(kolvo) и все такое
ну ище там если DATE_PRODAGI типа date
select
adresid
, nomenid
, DATE_PRODAGI
,sum(kolvo)
from a group by adresid , nomenid,DATE_PRODAGI