我在我的SQL數據庫中有以下表格。動態列選擇SQL
DIM_BENCHMARK:
Fund_sk | Num_Bench | Bench | Weight | Type_Return
1 2 XXX 0.9 TR
1 2 YYY 0.1 Net
2 3 XXX 0.45 TR
2 3 YYY 0.45 TR
2 3 ZZZ 0.10 Net
FACT_Returns:
Date | Bench | TR | Net
10/10 XXX 0.010 0.005
10/10 YYY 0.012 0.008
10/10 ZZZ 0.006 0.012
存儲過程的所需的輸出:
FACT_Result:
Date | Fund_SK | Num_Bench | Bench_Returns
10/10 1 2 (eg. 0.9*TR of XXX) + (0.1*Net Return of YYY)
10/10 2 3 (eg. 0.45*TR of XXX) + (0.45*TR of YYY) + (0.10*Net of ZZZ)
這些表格中顯示我的輸入數據的格式和我的希望的輸出。我對SQL仍然比較陌生,並且這種動態的SQL查詢已經超出了我所知道的深度。
我想根據DIM_Benchmark.Type_Return中的規格乘以DIM_Benchmark.weight的FACT_Returns.TR或.Net數字。 DIM_Benchmark.Type_Return中的變量與FACT_Returns中的列標題相同。
一如既往,任何幫助非常感謝!
很有可能會有多行具有相同的Fund_sk和num_bench,但對於每個fund_sk,長凳列都是唯一的。 – Patrick
你的表格是DIM和FACT,暗示這是一個星型模式,但它不是。你需要知道這個數據庫沒有被正確設計,因爲你不應該在事實和維度之間進行n:n連接。 –
根據您的評論,我訪問了ETL並能夠自己更改表格的格式。非常感謝您的評論。我被逼瘋了... – Patrick