【发布时间】:2013-12-18 19:04:25
【问题描述】:
我正在使用托管 SQL 2008 数据库(因此无法创建表或修改值),并希望将同一列中的两个数字相除以获得单个百分比答案。这些值输入到同一列 (TA_ANS_ANSWER),但输入的值基于另一个字段,即问题 (TA_ANS_QUESTION)。
例如本月;
第一个问题 - “电子学习用户列表中的承包商总数” - 答案输入“430”。
第二个问题 - “电子学习导入报告中的承包商总数” - 答案输入“357” 我需要得到上述值的 83%。
随着答案的填充,我需要为每个月计算一个百分比值。 下面的查询给出了返回上一个 MONTH 的名称(例如 Nov)、PPM ID 和 Answer(例如 430)的基本查询。我可以修改它以返回两行,每个回答的问题 1,但我只想要一个包含月份、PPM ID 和百分比计算的行。
如果答案让我眼前一亮,我们深表歉意,但我们将不胜感激。
SELECT CONVERT(varchar(3), TA_DUE_DATE-28, 100) AS MONTH,
TA_TASK_ID AS PPM,
F_TASK_ANS.TA_ANS_ANSWER AS ANSWER
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 F_TASKS.TA_FKEY_CTR_SEQ = 126
AND F_TASK_ANS.TA_ANS_QUESTION LIKE '%Total No. Contractors on e-learning User List%'
AND (TA_HIST_STATUS IS NULL OR TA_HIST_STATUS = 'COMPLETE')
AND TA_TASK_ID LIKE '%6025'
AND TA_DUE_DATE >= GETDATE()-360
AND TA_DUE_DATE <= GETDATE()+7
ORDER BY PPM
【问题讨论】:
-
请发布示例数据和所需的输出。
标签: sql sql-server pivot