2014-03-06 11 views
0

을 제거 날이 테이블 MSISDN 및 BAN 결과 모두 열DECODE - NULL을

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 

에서 널 (null)을 제거 도와주세요. 이 두 열은 모두 NULL 값과 NOT NULL 값을 포함합니다. 결과 테이블에서 NULL을 제거하고 싶습니다. 도와주세요.

BAD - 

MSISDN BAN 
null  xyz 
null  abc 
1213  null 
null  def 
1211  null 

와 나는 내 결과가 정말 그 일을해서는 안

MSISDN BAN 
1213  xyz 
1211  abc 
      def 
+0

사용중인 서버는 무엇입니까? –

+0

Oracle DB 11g - 요구 사항 이상의 쿼리와 일치하지 않는 –

+0

요청 하시겠습니까? 뭘 원하는거야? 위의 쿼리로 무엇을하려고합니까? –

답변

0

되고 싶어요. 질문 아래의 댓글을 확인하십시오. 그러나 다음은 쿼리입니다.

SELECT MSISDN, BAN 
FROM (
    SELECT pv.text_value MSISDN, rownum rn 
    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 
    AND pk.property_name = 'msisdn' 
    AND pv.text_value IS NOT NULL 
) FULL OUTER JOIN ( 
    SELECT pv.text_value BAN, rownum rn 
    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 
    AND pk.property_name = 'ban' 
    AND pv.text_value IS NOT NULL 
) USING (rn) 
ORDER BY rn;