2016-07-27 2 views
0

Ich habe eine Bienenstock-Abfrage, die wie folgt aussieht:Wie kann der Tabellenname in den Spaltennamen in der Abfrage entfernt werden?

set hive.cli.print.header=true; 
select x1, x2, x3 from table1 
union all 
select x1, x2, x3 from table2 

Das Problem ist, dass der Stock fügt automatisch einen neuen Tabellennamen der Spaltennamen, so in der Folge die Spaltennamen wie folgt aussehen:

_u1.x1 _u1.x2 _u1.x3 

Ich möchte nicht die "_u1." Wie kann ich einfach die Spaltennamen wie:

x1 x2 x3 

Antwort

0
select x1, x2, x3 from 
(select x1, x2, x3 from table1 
union all 
select x1, x2, x3 from table2) as test; 

Bevor:

select order_id,order_date from orders limit 1 
union all 
select order_id,order_date from orders limit 1; 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
_u1.order_id _u1.order_date 
1 2013-07-25 00:00:00.0 
1 2013-07-25 00:00:00.0 

Nach:

select order_id, order_date from 
(select order_id,order_date from orders limit 1 
union all 
select order_id,order_date from orders limit 1) as test; 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
order_id order_date 
1 2013-07-25 00:00:00.0 
1 2013-07-25 00:00:00.0 
+0

als ks, aber ist es möglich, den Spaltennamen direkt neu zu definieren? Ohne hinzufügen einer neuen Zeile von wählen .... – lserlohn

+0

Nein, es gibt keine Möglichkeit so nach bestem Wissen. –

Verwandte Themen