Reputation: 1373
I created this sql query:
select "Období", sum(Cena),"Skupina zboží", "Zkratka skupiny", "Firma"
from
(select CASE when fav.VATDate<DATEADD(month, -3, GETDATE()) and fav.VATDate>=DATEADD(month, -6, GETDATE()) then '3 až 6 měsíc zpětně'
when fav.VATDate>=DATEADD(month, -3,GETDATE()) then '3 měsíce zpětně'
END "Období"
,pro.Ce_Jedn * pro.Mnoz "Cena"
,zbo.SkZ "Skupina zboží"
,CASE WHEN charindex('-', zbo.skz) > 0 then substring(zbo.SkZ, 0, charindex('-', zbo.skz))
else zbo.SKZ
END "Zkratka skupiny"
,baz.fir "Firma"
from PRODEJ pro
inner join FAKTVYDA fav on fav.Ci=pro.C_Fak and fav.Rada=pro.R_Fak
inner join ZBOZI zbo on zbo.Cis=pro.C_Zbo
left join ZAKAZKA zak on zak.Ci=pro.Ci and zak.Rada=pro.Rada
left join ZAKAZNIK baz on baz.cdo=fav.cdo
where pro.datp > -2 and fav.VATDate>=DATEADD(month, -6, GETDATE())) tab
group by
"Období","Skupina zboží", "Zkratka skupiny", "Firma"
and result of this query is something like this: Result http://img844.imageshack.us/img844/9903/s1q6.png
Now I need to add one more column, in which will be percent increase between "3 až 6 měsíců zpětně" and "3 měsíce zpětně". Is here any way how can I achieve this?
edit
This maybe help for better imagine
Upvotes: 0
Views: 102
Reputation: 70658
Ok, even if you still didn't actually show us the result that you want (where is the column with the percent increase on your picture?), I believe that this is what you need:
SELECT [Zkratka skupiny],
[Skupina zboží],
[Firma],
[3 až 6 měsíc zpětně],
[3 měsíce zpětně],
([3 až 6 měsíc zpětně]/NULLIF([3 měsíce zpětně],0) - 1)
*100 [Percent Increase]
FROM ( SELECT SUM(CASE
WHEN fav.VATDate < DATEADD(MONTH,-3,GETDATE())
AND fav.VATDate >= DATEADD(MONTH, -6, GETDATE())
THEN pro.Ce_Jedn * pro.Mnoz
END) [3 až 6 měsíc zpětně],
SUM(CASE
WHEN fav.VATDate >= DATEADD(MONTH, -3,GETDATE())
THEN pro.Ce_Jedn * pro.Mnoz
END) [3 měsíce zpětně],
zbo.SkZ [Skupina zboží],
CASE
WHEN CHARINDEX('-', zbo.skz) > 0
THEN SUBSTRING(zbo.SkZ, 0, CHARINDEX('-', zbo.skz))
ELSE zbo.SKZ
END [Zkratka skupiny],
baz.fir [Firma]
FROM PRODEJ pro
INNER JOIN FAKTVYDA fav
ON fav.Ci=pro.C_Fak AND fav.Rada=pro.R_Fak
INNER JOIN ZBOZI zbo
ON zbo.Cis=pro.C_Zbo
LEFT JOIN ZAKAZKA zak
ON zak.Ci=pro.Ci AND zak.Rada=pro.Rada
LEFT JOIN ZAKAZNIK baz
ON baz.cdo=fav.cdo
WHERE pro.datp > -2
AND fav.VATDate >= DATEADD(MONTH,-6, GETDATE())
GROUP BY zbo.SkZ,
CASE
WHEN CHARINDEX('-', zbo.skz) > 0
THEN SUBSTRING(zbo.SkZ, 0, CHARINDEX('-', zbo.skz))
ELSE zbo.SKZ
END,
baz.fir) tab
Upvotes: 1