Advertisement
brainode

Запрос на 5 минут

Aug 30th, 2013
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 1.31 KB | None | 0 0
  1. USE RS_DWH;
  2. GO
  3. declare @enddate int;
  4. SET @enddate = (SELECT top 1 dbo.Date_Dim.ID FROM dbo.Date_Dim WHERE dbo.Date_Dim.DateOper = '2013-06-27');
  5. declare @startdate int;
  6. SET @startdate = (SELECT top 1 dbo.Date_Dim.ID FROM dbo.Date_Dim WHERE dbo.Date_Dim.DateOper = '2013-05-27');      
  7. declare @days int = @enddate - @startdate;
  8.        SELECT top 1 dbo.StrOut_Fact.KEY_TO AS 'Torgovyj Object',
  9.        SUM(dbo.StrOut_Fact.SumRozn) AS 'Vyruchka',
  10.        SUM(dbo.StrOut_Fact.SumRozn - dbo.StrOut_Fact.SumOpt) AS 'Pribyl',
  11.        SUM(dbo.StrOut_Fact.SumRozn - dbo.StrOut_Fact.SumOpt)/SUM(dbo.StrOut_Fact.SumRozn)*100 AS 'Marga',
  12.        SUM(dbo.StrOut_Fact.SumRozn - dbo.StrOut_Fact.SumOpt)/SUM(dbo.StrOut_Fact.SumOpt)*100 AS 'Nacenky',
  13.        COUNT(dbo.StrOut_Fact.SumRozn) AS 'Kolychestvo chekov',
  14.        COUNT(dbo.StrOut_Fact.SumRozn)/@days AS 'Kol. chekov v denj',
  15.        COUNT(dbo.StrOut_Fact.SumRozn)/SUM(dbo.StrOut_Fact.SumRozn) AS 'Sum of chek'
  16.        FROM dbo.StrOut_Fact
  17.        left join dbo.TO_Dim ON dbo.StrOut_Fact.KEY_TO = dbo.TO_Dim.ID
  18.        left join dbo.StrRstDay_Fact ON dbo.TO_Dim.ID=dbo.StrRstDay_Fact.KEY_TO
  19.        join dbo.Cll_Dim ON dbo.TO_Dim.KEY_Cll = dbo.Cll_Dim.ID
  20.        left join dbo.Date_Dim ON dbo.StrOut_Fact.KEY_Date = dbo.Date_Dim.ID
  21.        WHERE dbo.Date_Dim.ID BETWEEN @startdate AND @enddate GROUP BY dbo.StrOut_Fact.KEY_TO;
  22. GO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement