我的数据库中有两个保存的查询,称为Free_Cash_Flow
和Quarterly_Growth_Rates
。它们显示在这里:
Free_Cash_Flow
:
Quarterly_Growth_Rates
:
当我使用此代码时:
SELECT * _
FROM Free_Cash_Flow AS C _
INNER JOIN Quarterly_Growth_Rates AS G _
ON (C.Ticker = G.Ticker) AND ((IIF(C.Period = 4, C.Year + 1, C.Year)) = G.Year) AND ((IIF(C.Period = 4, 1, C.Period + 1)) = G.Qtr)
这是返回的:
该列Free_Cash_Flow
是空白的。但正如您在表中看到的那样,Free_Cash_Flow
该列中有数据。为什么没有被拉入新表?我用其他类似格式的表运行这个查询,一切都很好。有什么建议么?
附加信息
我想补充一点,Free_Cash_Flow 列是使用其各自保存查询的 SQL 语句中的公式填充的。我认为这可能与我的问题有关。我真的被困在这里,我迫切需要弄清楚这一点。
下面是包含用于 Free_Cash_Flow 保存查询的 SQL 语句的代码:
变量:
Dim Calculation = “Free_Cash_Flow”
Dim Formula = “(SELECT (SUM(su.Net_Cash_Flow_Operating) - SUM(su.Capital_Expenditures)) _
FROM (SELECT Ticker, [Year], Period, Net_Cash_Flow_Operating, Capital_Expenditures _
FROM Cash_Flow_Statements UNION ALL SELECT Ticker, [Year] + 1, Period - 4, Net_Cash_Flow_Operating, Capital_Expenditures _
FROM Cash_Flow_Statements) su _
WHERE su.Ticker = c.Ticker AND su.[Year] = c.[Year] AND (su.Period Between c.Period - 3 And c.Period))”
Dim Where_Statement = "WHERE i.Period < 5"
SQL 语句:
"CREATE PROC " & Calculation & " AS SELECT i.Ticker, i.[Year], i.Period, " & Formula & " AS " & Calculation & " _
FROM (Income_Statements AS i _
INNER JOIN Balance_Sheets AS b _
ON (i.Ticker = b.Ticker) AND (i.[Year] = b.[Year]) AND (i.Period = b.Period)) _
INNER JOIN Cash_Flow_Statements AS c ON (b.Ticker = c.Ticker) AND (b.[Year] = c.[Year]) AND (b.Period = c.Period) " & Where_Statement & ""