使用union子句我正在重复行我如何解决以下示例请参阅和评论?

时间:2017-06-22 06:07:37

标签: sql oracle oracle11g

select  customer_id, null, customer_type
from    customer
where   rownum <=10
union 
select  customer_id, CUSTOMER_SUB_TYPE, null
from    customer
where   rownum <=10;

我得到如下的输出并重复id。

12507000000392     02X8    NULL
12507000000392     NULL    PRES

但我想要这样的输出。
如果你知道,请评论。

12507000000392     02X8    PRES

1 个答案:

答案 0 :(得分:0)

即使使用Union,您也将Null视为customer_sub_type,将null视为客户类型。 这里没有通过Query返回的重复行。所以在这种情况下,联盟将没有帮助。 您仍然可以尝试使用以下查询。

SELECT CUSTOMER_ID,MAX(CUSTOMER_SUB_TYPE),MAX(CUSTOMER_TYPE)  来自客户  GROUP BY CUSTOMER_ID; 希望这会有所帮助。