我需要根据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
答案 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公式来处理其余部分。另外,您可以在每个联盟的示例中添加更多条件。这只是一个粗略的模板。