Select 'aa' a,'bb' b,'cc' c,NULL d,NULL e,NULL f
  From dual  UNION ALL  Select NULL a,NULL b,NULL c,'dd' e,'ee' e,'ff' f
  From dual
我需要得到的结果集效果是 
  SELECT 'aa' a,'bb' b,'cc' c, 'dd' e,'ee' e,'ff' f
  From dual
应该怎么写?

解决方案 »

  1.   

    SELECT MAX(a), MAX(b), MAX(c), MAX(d), MAX(e), MAX(f)
      FROM (SELECT 'aa' a, 'bb' b, 'cc' c, NULL d, NULL e, NULL f
              FROM dual
            UNION ALL
            SELECT NULL a, NULL b, NULL c, 'dd' e, 'ee' e, 'ff' f FROM dual);
      

  2.   

    select max(a), max(b), max(c), max(d), max(e), max(f)
      from (Select 'aa' a, 'bb' b, 'cc' c, NULL d, NULL e, NULL f
              From dual
            UNION ALL
            Select NULL a, NULL b, NULL c, 'dd' e, 'ee' e, 'ff' f From dual)