【发布时间】:2021-01-12 00:29:36
【问题描述】:
美好的一天!我被我的查询困住了。我想将我的 NULL 值替换为零。
我的语法:
SELECT * FROM (SELECT (B.FIRST_NAME + ' ' + B.MIDDLE_INITIAL + ' ' + B.SURNAME) As 'Name', DATENAME(MONTH, A.COVERAGE_DATE) As 'Month', SUM(ISNULL((A.AMOUNT),0)) As 'Amount'
FROM Transactions A, PledgerProfile B
WHERE A.PLEDGER_ID = B.PLEDGER_ID AND DATENAME(Year, A.COVERAGE_DATE) = '2021'
GROUP BY (B.FIRST_NAME + ' ' + B.MIDDLE_INITIAL + ' ' + B.SURNAME), DATENAME(MONTH, A.COVERAGE_DATE)) AS MonthlySalesData
PIVOT(SUM(AMOUNT)
FOR Month IN ([January],[February],[March],[April],[May], [June],[July],[August],[September],[October],[November], [December])) AS MNamePivot
给朋友打电话。有人可以调查一下并检查我的语法吗?我很感激任何反馈。谢谢!
我的输出:
【问题讨论】:
-
附带说明,您应该真正避免使用旧式连接并使用显式连接
-
我建议您对每一列使用 case-when-else 子句。像这样:[January] 为 NULL 然后 0.0 的情况,否则 [January] 结束
标签: sql sql-server pivot