sql - 根据多列排除行

标签 sql snowflake-cloud-data-platform

我试图排除所有毛列都为空值的行。

示例数据:

market   item_id    gross_1     gross_2   gross_3   period
POLAND   1111       1           2         3         20190301
ESTONIA  2222       blank       2         3         20190302
POLAND   3333       1           blank     3         20190303
POLAND   3333       1           blank     blank     20190304
POLAND   4444       blank       blank     blank     20190305
POLAND   5555       1           2         3         20190306`

我想收到:

market   item_id    gross_1     gross_2   gross_3   period
POLAND   1111       1           2         3         20190301
ESTONIA  2222       blank       2         3         20190302
POLAND   3333       1           blank     3         20190303
POLAND   3333       1           blank     blank     20190304
POLAND   5555       1           2         3         20190306`

我发现了类似的东西,但它在 snowflake 中不起作用:

WHERE NOT ROW(gross_1, gross_2, gross_3) IS NULL

最佳答案

使用coalesce() :

select * from tablename
where coalesce(gross_1, gross_2, gross_3) is not null

关于sql - 根据多列排除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58028650/

相关文章:

mysql - SELECT 、 FROM 或 WHERE 中的嵌套 SELECT 子句及其区别

c# - 如何在mvc.net中设置两个表之间的关系

sql - 雪花: Conversion error of an teradata query to snow sql

snowflake-cloud-data-platform - 雪花: JSON data with dynamic columns

sql - Snowflake SQL 中字符串与 null 的连接

snowflake-cloud-data-platform - 在时间戳列中插入 Null 时,雪花复制失败

sql - SQLAlchemy允许将null作为ForeignKey

c# - 获取表的架构

java - 为什么 hibernate 试图执行格式错误的查询?

hadoop - hadoop 中的数据存储复制与云中的雪花