2017-01-27 5 views
1

Я пишу запрос куста, чтобы объединить две таблицы; table1 и table2. В результате мне просто нужны все столбцы из таблицы1 и столбцы из таблицы2.Hive join query для отображения столбцов только из одной таблицы

Я знаю решение, где я могу выбрать все столбцы вручную, указав table1.column1, table1.column2 .. и так далее в инструкции select. Но у меня около 22 столбцов в таблице 1. Кроме того, я должен сделать то же самое для нескольких других таблиц и его болезненный процесс.

Я попытался использовать «SELECT table1. *», Но я получаю исключение синтаксического анализа.

Есть ли лучший способ сделать это?

+0

Помогите мне. Вы сказали, что присоединяетесь к двум таблицам, таблице1 и таблице2, а затем вы сказали, что хотите, чтобы все столбцы из таблицы1 и столбцы из таблицы2. Итак, почему вы присоединились? –

+0

Может быть, я смущен, но вы можете помочь мне понять ваш вопрос? –

+1

вы должны иметь возможность делать таблицу1. *, Можете ли вы предоставить стек? – hlagos

ответ

0

Улей 0,13 года следующий синтаксис запроса работает:

SELECT a.* FROM a JOIN b ON (a.id = b.id)

Этот запрос будет выбрать все столбцы из. Поэтому вместо того, чтобы вводить все имена столбцов (делая запрос громоздким), лучше использовать таблицы. *

+0

Хотя это может быть решение, полезно подумать подробно, почему это работает и решает проблему, и, возможно, с примером, чтобы будущие читатели, которые сталкивались с этим ответом, точно знали, что он делает. –

+0

Исходный вопрос указывает на исключение синтаксического разбора в «SELECT table1. *», Но я получаю исключение синтаксического анализа. Возможно, это связано с использованием предыдущей версии улья ниже 0,13 –