【发布时间】:2014-03-06 18:03:55
【问题描述】:
请帮我从两列中删除空值
SELECT Decode(pk.property_name, 'msisdn', pv.text_value) MSISDN,
Decode(pk.property_name, 'BAN', pv.text_value) BAN
FROM PROPERTY_VALUE pv, PROPERTY_KEY pk
WHERE pv.entity_id IN
(select entity_id from property_value pv where pv.text_value in('ConsumerUnauthenticated'))
and pv.property_key_id = pk.property_key_id
这会产生一个表 MSISDN 和 BAN。这两个列都包含 NULL 和 NOT NULL 值。我想从结果表中消除 NULL。请帮忙。
BAD -
MSISDN BAN
null xyz
null abc
1213 null
null def
1211 null
我希望我的结果是
MSISDN BAN
1213 xyz
1211 abc
def
【问题讨论】:
-
你使用的是什么服务器?
-
Oracle DB 11g - 不确定
-
但是您的要求和以上查询不匹配?你到底想要什么?你想用上面的查询做什么?
-
我从上面写的查询中得到了结果。现在我不知道下一步该做什么
-
您的结果似乎不符合正常的数据库数据结构。您的 desired 输出表明您无缘无故地强制
MSISDN = 1213与BNA = xyz关联,并且BAN = def与nothing关联,但不知何故它与 @987654328 不同@。您真的想要 两个 输出表吗?唯一的非空 MSISDN 之一,以及唯一的非空 BAN 之一?