无法根据“年”,“月”和“季度”打破业务目标表?

时间:2019-09-11 11:00:22

标签: sql sql-server

我需要根据BusinessGoal表的Period列使用“ Year”,“ Month”和“ Quarterly”打破业务目标表。我有一个Generate_Dates函数,该函数可以按年格式中断日期,并且需要添加“每年”和“每季度”部分。

;WITH Generate_Dates(Start_Date, End_Date) AS (
  SELECT
    CAST(StartDateUtc AS Date),
    CAST(
      CASE WHEN [bg].EndDateUtc IS NULL THEN GETDATE() ELSE CAST([bg].EndDateUtc AS Date) end AS Date
    )
  FROM
    BusinessGoal AS [bg] WITH (NOLOCK)
  WHERE
    [bg].Period = 'Year'
  UNION ALL
  SELECT
    DATEADD(yy, 1, Start_Date),
    End_Date
  FROM
    Generate_Dates
  WHERE
    DATEADD(yy, 1, Start_Date) < End_Date
)
SELECT * FROM Generate_Dates

下面的数据有两个表,其中第一个是输入表,第二个是输出表。 Data Screenshot

1 个答案:

答案 0 :(得分:0)

没有更多的表数据或实际问题,很难假设您需要什么,但是作为一种预测: 为什么不将3-4 Unions与您的“期间”列作为每种条件。似乎您将所有内容都放在一张桌子中。因此,只要A-G列是静态的(看起来像是静态的),这就应该起作用

为:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div style="height: 200vh">
<div id="nav">
  <h2 class="logo"><span>Levan</span><br>Charuashvili</h2>
  <ul class="windows">
      <li>
          <a href="#">Prices</a>
      </li>
      <li>
          <a href="#">Projects</a>
      </li>
      <li>
          <a class="about" href="#about">About</a>
      </li>
  </ul>
</div>

因此它可以动态建立行。然后,根据需要排序或使用Excel公式来处理其余部分。另外,您可以在每个联盟的示例中添加更多条件。这只是一个粗略的模板。