【发布时间】:2018-04-01 17:59:50
【问题描述】:
我有两张桌子:
Fee_Payable_to_Students:
f_co |S_Adm_No | apr | may | june | jul | aug | sep | oct | nov | dec | jan | feb | mar
1 |s_1 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5
2 |s_1 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5
Fee_Assign_Waiver_to_Students:
f_co|S_Adm_No | apr | may | june | jul | aug | sep | oct | nov | dec | jan | feb | mar
1 |s_1 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5
我想查看我的结果
S_Adm_No | Installment | Amount |Payable_Date
s_1 |Quarter-1 (April, May & June) | 5 |Apr 15, 2018
s_1 |Quarter-2 (July, August & September) | 5 |Jul 15, 2018
s_1 |Quarter-3 (October, November & December) | 5 |Oct 15, 2018
s_1 |Quarter-4 (January, February & March) | 5 |Jan 15, 2019
我的 SQL 查询在这里:
SELECT
unPvt.S_Adm_No, Installment,
SUM(Amount) AS Amount,
CASE
WHEN Installment = 'Quarter-1 (April, May & June)'
THEN 'Apr 15, 2018'
WHEN Installment = 'Quarter-2 (July, August & September)'
THEN 'Jul 15, 2018'
WHEN Installment = 'Quarter-3 (October, November & December)'
THEN 'Oct 15, 2018'
WHEN Installment = 'Quarter-4 (January, February & March)'
THEN 'Jan 15, 2019'
END AS Payable_Date
FROM
(SELECT
pc.S_Adm_No,
(Apr + May + Jun)-COALESCE(CON.Qa1,0) AS [Quarter-1 (April, May & June)],
(Jul + Aug + Sep)-COALESCE(CON.Qa2,0) AS [Quarter-2 (July, August & September)],
(Oct + Nov + Dec)-COALESCE(CON.Qa3,0) AS [Quarter-3 (October, November & December)],
(Jan + Feb + Mar)-COALESCE(CON.Qa4,0) AS [Quarter-4 (January, February & March)]
FROM
Fee_Payable_to_Students pc
LEFT JOIN
(SELECT
S_Adm_no,
SUM(E_Apr + E_May + E_Jun) Qa1,
SUM(E_Jul + E_Aug + E_Sep) Qa2,
SUM(E_Oct + E_Nov + E_Dec) Qa3,
SUM(E_Jan + E_Feb + E_Mar) Qa4
FROM
Fee_Assign_Waiver_to_Students w
GROUP BY
S_Adm_No) AS CON ON pc.S_Adm_no = CON.S_Adm_no
WHERE
pc.S_Adm_No = s_1) AS Pvt
UNPIVOT
(Amount FOR Installment IN
([Quarter-1 (April, May & June)],
[Quarter-2 (July, August & September)],
[Quarter-3 (October, November & December)],
[Quarter-4 (January, February & March)])) AS unPvt
GROUP BY unPvt.S_Adm_No,unPvt.Installment
【问题讨论】:
-
您在此处标记了 4 个不同版本的 SQL Server,其中一个完全不受支持。您真正使用的是哪个?你能适当地更新你的标签吗?
-
sql-server-2008-r2
-
如果我不必更正代码以匹配示例数据,作为起点总是更好。
标签: sql-server sql-server-2008 sql-server-2008-r2