sql - 不带空值的 Oracle SQL 报告生成
问题描述
我的查询:
SELECT s.artist_id AS ArtistID,
s.name AS Song,
at.name AS artistname,
a.name AS Albumname
FROM album s
LEFT OUTER JOIN song a ON s.id = a.album_id
LEFT OUTER JOIN artist at ON at.id = s.artist_id;
歌曲和专辑表中的 null
对于加入表格后的上述查询,报告中有空值(演示结果)
实际结果
A B
1 2
3
预期结果
A B
1 2
3 *
我想在 excel 中打印上述结果而不是 null 它应该替换为任何字符。你能帮我怎么做吗?
解决方案
对此的 ISO/ANSI 标准函数是COALESCE()
:
SELECT a.artist_id AS ArtistID,
a.name AS Song,
COALESCE(ar.name, '*') AS artistname,
COALESCE(s.name, '*') AS Albumname
FROM album a LEFT OUTER JOIN
song s
ON a.id = d.album_id LEFT OUTER JOIN
artist ar
ON ar.id = a.artist_id;
请注意,我更改了表别名,因此它们是表名的缩写。
推荐阅读
- python - Pygame掩码与组中精灵的碰撞问题
- r - R中的转置和填充NA
- python - 如何避免 tensorflow 循环中的操作过多?
- python-3.x - 如何将列表列表传递给期望 *iterables 的函数
- html - Web-scraping 脚本中 RStudio 中的错误不一致:“参数暗示不同的行数:31、30”
- apache-spark - 导出火花逻辑/物理计划?
- odoo - 如何在 saleorder formview odoo 上隐藏侧边栏?
- c++ - 如何将信号转发到私有信号?
- android - 无法使用 Junit5 和 multidex 运行 Espresso 测试
- javascript - 在集合上使用 updateOne 时如何避免重复插入