sql - 通过 SQL Pivot 将“NULL”值替换为“0”
问题描述
再会!我被我的查询困住了。我想将我的 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
给朋友打电话。有人可以调查一下并检查我的语法吗?我很感激任何反馈。谢谢!
我的输出:
解决方案
SELECT *
您可以通过指定列/值而不是顶部IsNull()
例子
SELECT Name
,[January] = isnull([January],0)
,[February] = isnull([February],0)
,[March] = isnull([March],0)
,[April] = isnull([April],0)
,[May] = isnull([May],0)
,[June] = isnull([June],0)
,[July] = isnull([July],0)
,[August] = isnull([August],0)
,[September] = isnull([September],0)
,[October] = isnull([October],0)
,[November] = isnull([November],0)
,[December] = isnull([December],0)
....
推荐阅读
- mysql - 如何对多个表进行 SQL 连接(FK 表有循环的结果共享 ID)
- ios - 在黑盒情况下处理丢失的 dSYM 文件
- apache-spark - 为什么 Pyspark 没有编码器
- r - 在条件之前和之后的行中添加包含数据的列
- javafx - 如何为 JavaFX TableView 列制作通用 TableColumn 渲染器
- npm - 无法解决节点项目中的对等依赖项
- c# - 为远程进程从外部调用 FreeLibraryAndExitThread
- python - 使用扩展的 django 用户模型更新配置文件模型中的数据
- mqtt - 我正在编写一个代码来读取 DHT11 值并控制 4 个继电器但温度。传感器每次都向我显示“nan”
- javascript - 有没有办法在不篡改浏览器历史状态的情况下使用后退按钮关闭模式?