通过增加参数来迭代

时间:2016-03-07 21:00:28

标签: sql reporting-services

我有Sql查询,如下例所示。

Select
  number,age
from 
  tbldetails
where 
  month = @Month and year = @Year
union
Select
  number,age
from
  tblcontacts
where
  month = @Month and year = @Year

现在,我希望获得@Month@Year过去12个月的上述查询的详细信息,然后按年龄平均得分。

示例@Month = Dec和@Year = 2015 我想在2015年1月到2015年12月期间获得年龄,然后做平均值。

我想在ssrs报告中使用它。

希望得到一些帮助:)

2 个答案:

答案 0 :(得分:0)

要过滤所需的日期范围,我会将年份和月份合并为一个字符串列,然后使用它与您转换的参数进行比较(减去一年)。

  // Put event listeners into place
  window.addEventListener("DOMContentLoaded", function() {
    // Grab elements, create settings, etc.
    var canvas = document.getElementById("canvas"),
      context = canvas.getContext("2d"),
      video = document.getElementById("video"),
      videoObj = { "video": true },
      errBack = function(error) {
        console.log("Video capture error: ", error.code);
      };

    // Put video listeners into place
    if(navigator.getUserMedia) { // Standard
      navigator.getUserMedia(videoObj, function(stream) {
        video.src = stream;
        video.play();
      }, errBack);
    } else if(navigator.webkitGetUserMedia) { // WebKit-prefixed
      navigator.webkitGetUserMedia(videoObj, function(stream){
        video.src = window.URL.createObjectURL(stream);
        video.play();
      }, errBack);
    } else if(navigator.mozGetUserMedia) { // WebKit-prefixed
      navigator.mozGetUserMedia(videoObj, function(stream){
        video.src = window.URL.createObjectURL(stream);
        video.play();
      }, errBack);
    }

    // Trigger photo take
    document.getElementById("snap").addEventListener("click", function() {
      context.drawImage(video, 0, 0, 320, 240);
            var image = document.getElementById("canvas");
            var pngUrl = canvas.toDataURL();
            console.log(pngUrl);
    });
  }, false);

答案 1 :(得分:0)

宣告@Year int; 设置@Year =' 2016'

声明@Month varchar(10); 设置@Month =' 11'

声明@Date varchar(10); 设置@Date = Cast(@Month as varchar(2))+' - ' +' 01' +' - ' + Cast(@year as varchar (4))

声明@StartDate varchar(19); 设置@StartDate =转换(varchar(19),DateAdd(m,-12,@ Date),103) - 103 dd / mm / yy

声明@EndDate varchar(20); 设置@EndDate = Convert(varchar(20),DateAdd(m,12,@ StartDate),103)

选择 Sum(StCount)为TotalStudents (

选择Count(Rollnbr)为StCount,.. @StartDate和@EndDate之间的日期

联合 选择Count(Rollnbr)作为StCount,.. @StartDate和@EndDate之间的日期 )SQL1