Hive SQL-запрос для объединения столбцов - PullRequest
0 голосов
/ 25 апреля 2018

Я выполнил оба запроса ниже для одной и той же таблицы с другим критерием фильтрации:

hive> select * from mailing1 where layer ='db_gold';
OK
db_gold 400
db_gold 500
db_gold 600

hive> select * from mailing1 where layer ='db_insight';
OK
db_insight  100
db_insight  200
db_insight  300

Я пытаюсь объединить оба запроса и создать вывод, например:

db_gold 400 db_insight 100
db_gold 500 db_insight 200
db_gold 600 db_insight 300

Я уже пытался объединить обе таблицы, как показано ниже, но безуспешно:

select * from mailing1 where layer ='db_insight' 
 union 
select * from mailing1 where layer ='db_gold';
db_gold         400
db_gold         500
db_gold         600
db_insight      100
db_insight      200
db_insight      300

1 Ответ

0 голосов
/ 25 апреля 2018

Похоже, оператор JOIN необходим, но столбец для объединения отсутствует.Для этой цели вы можете использовать номера строк таблиц:

SELECT * FROM
    (SELECT row_number() OVER () rn, * FROM mailing1 WHERE layer = 'db_insight') t1
INNER JOIN 
    (SELECT row_number() OVER () rn, * FROM mailing1 WHERE layer = 'db_gold') t2
ON t1.rn = t2.rn;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...