如何从表中选择记录的所有列 - 但如果该列中该记录的所有条目均为空,则排除该列?

问题描述 投票:0回答:1

我在只读 Oracle 数据库中有一个名为 MAX75MV 的架构,其中有一个名为 WORKORDER 的表。 该表有一列名为 WONUM。

如果我写:

SELECT *
FROM MAX75MV.WORKORDER
WHERE WONUM = '101319066'

我获得以下3条记录:

WONUM 家长 失败日期 状态
101319066 关闭
101319066 101319063 CAN
101319066 关闭

我想排除 FAILDATE 列,因为该 WONUM 记录的 all 条目在该列中均为空。

相反,我想保留父列,因为该列中至少有 1 个非空值。

所以我想要的结果是:

WONUM 家长 状态
101319066 关闭
101319066 101319063 CAN
101319066 关闭

我知道我可以公开地陈述我想要的专栏: (即

SELECT WONUM, PARENT, STATUS
FROM MAX75MV.WORKORDER

但是有没有办法根据该 WONUM 记录的所有条目都为空这一事实来排除 FAILDATE 列?

sql oracle sql-null
1个回答
0
投票

选择1
从表 有计数(失败日期)= 0 并计数(*) > 0;

© www.soinside.com 2019 - 2024. All rights reserved.