再帰的クエリを動的に作成するにはどうすればよいですか?再帰的クエリを動的に作成する方法は?
のはそれを言ってみましょう:
QuantityDate
は次のようになります。
Month 3 The first quarter
Month 6 The second quarter
Month 9 The third quarter
Month 12 The fourth quarter
ユーザーが6
第二四半期を選択した場合、その後、私は第1四半期のデータ+内のデータを合計します第2四半期
ユーザーは、その後、私は...
など第3四半期に第二四半期に +データを第1四半期のデータ+データを合計する第三四半期9
を選択した場合
私のクエリは、このようなものです:ここ
ユーザが第2四半期
(6)
を選択し、だから私は第一四半期dを合計しますATAこのような+第二四半期データ:,((ISNULL(d.SalesCost,0)*-1)/ (ISNULL(d.LocalSales,0)+ISNULL(d.Exporting,0) --The selected quarter data + (SELECT ISNULL(e.LocalSales,0)+ISNULL(e.Exporting,0)--The First Quarter FROM CTE e WHERE e.[Year] = d.[Year] AND e.period =2 AND e.PeriodTypeId =2 AND e.CompanyId = d.CompanyId AND MONTH(e.QuantityDate)=3))) AS Tot1, ,d.QuantityDate FROM CTE d INNER JOIN CTE t ON d.[Year] = t.[Year] AND d.period = t.period AND d.PeriodTypeId = t.PeriodTypeId AND d.CompanyId = t.CompanyId AND d.QuantityDate =t.QuantityDate WHERE d.[Year] IN (2016,2015) AND d.PeriodTypeId =2 AND d.Period =2 AND YEAR(d.QuantityDate)IN (2016,2015) AND MONTH(d.QuantityDate)=6 ORDER BY d.CompanyId, d.[Year] DESC
は私の全体のクエリ:
サンプルデータ:
のは、このような数量表を言ってみましょう:
ユーザーは私が得る第二四半期を選択するとは、第1および
15 20 1-3-2016 22 80 1-6-2016
CTE d
における第2四半期のデータは、その後、私はCTE e
でそれに参加し、その
のため言うならSalesCost
=-20
例
tot1
は、20/((15+20)+(22+80))
質問を編集して元のデータを表示する必要があります。 –
@GordonLinoff:質問を編集してください。 –