我想創建一個圖表,用於從SQL數據庫中生成的2個用戶問題中提取數據。SQL - 2個表值按第三個未連接值分組
問題是用戶問題與答案一樣存儲在同一個表中。唯一的連接是問題字符串包含年份值,我使用命令提取的年份值,以便輸出一個名爲'YEAR'的列,列中包含從2013年到2038年(25年期間)的整數值列表, 。 然後,我想從每個'YEAR'拉相應的答案('預測'和'實際'),以便我可以繪製一個圖表與每年的幾個值(抱歉,如果這沒有任何意義)。圖表應顯示25年期間的預測線,第二行(或列)顯示多年來人口填充時的實際值。然後我就能夠想象,如果我們的實際值是接近我們原來的預測數字(長期目標!)
下面的代碼
SELECT CAST((LEFT(F_TASK_ANS.TA_ANS_QUESTION,4)) AS INTEGER) AS YEAR,
-- first select takes left 4 characters of question and outputs value as string then coverts value to whole number.
CAST((CASE WHEN F_TASK_ANS.TA_ANS_QUESTION LIKE '%forecast' THEN F_TASK_ANS.TA_ANS_ANSWER END) AS NUMERIC(9,2)) AS 'FORECAST',
CAST((CASE WHEN F_TASK_ANS.TA_ANS_QUESTION LIKE '%actual' THEN ISNULL(F_TASK_ANS.TA_ANS_ANSWER,0) END) AS NUMERIC(9,2)) AS 'ACTUAL'
-- actual value will be null until filled in each year therefore ISNULL added to replace null with 0.00.
FROM F_TASK_ANS INNER JOIN F_TASKS ON F_TASK_ANS.TA_ANS_FKEY_TA_SEQ = F_TASKS.TA_SEQ
WHERE TA_ANS_ANSWER <> ''
AND (TA_TASK_ID LIKE '%6051' OR TA_TASK_ID LIKE '%6052')
-- The two numbers above refer to separate PPM questions that the user enters a value into
我試圖GROUP BY「YEAR」但我得到一個
Error: Each GROUP BY expression must contain at least one column that is not an outer reference - which I assume is because I haven't linked the 2 tables in any way...
我應該加入UNION所以表的連接?
我希望看到的是類似如下的輸出(我將在後面繪製了)
YEAR FORECAST ACTUAL
2013 135000 127331
2014 143000 145102
2015 149000 0
2016 158000 0
2017 161000 0
2018... etc
任何幫助或指導將非常感激。 感謝
哪個SQL數據庫是這? – Shiva
SQL Server 2008(由第三方託管) –