postgresql - 如何在使用来自同一表的不同列值条件查询时处理空值

标签 postgresql

有一个名为 Products 的表,其中包含 100 多列。我正在运行一个不同的 column1、column2、column3....column6 postgresql 查询,结果如下所示:

2    Product A  300  2017  Null  Null
2    Product A  300  2017  Null  Null

由于空值,我得到的不是一行,而是两行。如何解决这个问题?非常感谢您的帮助。

最佳答案

null 与自身不同,在底层检查是否相等。而不是

select distinct field1, field2, ..., fieldn

你可以有这样的选择子句:

select distinct coalesce(field1, 'Empty') AS field1, ..., coalesce(fieldn, 'Empty') AS fieldn

对于可为空的字段,您只需要合并

关于postgresql - 如何在使用来自同一表的不同列值条件查询时处理空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54984358/

相关文章:

ruby-on-rails - PG::InvalidParameterValue: 错误:参数 "client_min_messages"的无效值: "panic"

MySQL/PostgreSQL 列大小,为什么?

ruby-on-rails - Rails:如何修复 ActiveRecord::Irreversible Order Error

sql - 使用数据类型 "text"存储字符串有什么缺点吗?

postgresql - Liquibase 差异 - 驱动程序问题

postgresql - 你如何找到当前的 postgres virtualtransaction id?

postgresql - 其他模式中的约束

Postgresql array_agg 多列与 JDBC

sql - 后端是否应该在 SQL 查询之前执行一致性检查?

postgresql - Postgresql 中的全文搜索