2017-02-22 11 views
2

У меня есть таблица, расщепляется на две части в SAP HANA (из-за выпуска памяти) .so я с «TEST». «TABLE_01» «TEST». «TABLE_02»Как рассчитать

в моя база данных HANA. Теперь я хочу выбрать несколько столбцов из каждой таблицы и сделать оставшуюся как одну таблицу. Например, если «TABLE_01» и «TABLE_02» имеют 6 столбцов, я хочу выбрать по 3 столбца из каждого и захотеть выполнить запрос для всей таблицы (которая будет иметь 3 столбца из «» TABLE_01 »и« TABLE_02 »). Say TABLE_01, как

id student_name  class subject marks rank 
___ _______________ _____ _______ ______ _____ 
1  john   10  phy  90  3 
2  jean   11  che  80  6 
3  oliver   10  phy  93  2 
4  ryan   12  mat  99  1 

как мудрый TABLE_02 будет иметь свои данные.

id student_name  class subject marks rank 
    ___ _______________ _____ _______ ______ _____ 
    1  tim   10  phy  93  3 
    2  jack   11  che  82  6 
    3  steve   10  phy  93  3 
    4  isaac   12  mat  99  9 

Так что теперь я хотел взять ID, student_name и звание.

id student_name   rank 
___ _______________   _____ 
1  john    3 
2  jean    6 
3  oliver    2 
4  ryan    1 
1  tim     3 
2  jack    6 
3  steve    3 
4  isac    9 

Я хочу запустить запрос на этой таблице. Но как присоединиться к этим двум таблицам вместе? Любая помощь приветствуется.

+0

Лучше хранить все данные в одной таблице как нет какой-либо смысл хранить подобные data..even имеют одинаковые имена столбцов в нескольких столы. – Susang

+0

Я не могу хранить всю таблицу сразу, потому что у меня проблема с памятью при загрузке таблицы в память. –

+0

Затем вы спрашиваете, как решить проблему с тайм-аутом вместо разделения данных в нескольких таблицах. Просто предложение не против – Susang

ответ

3

Попробуйте использовать оператор UNION: - оператор

СОЮЗА используется для объединения множества результатов два или более ЗЕЬЕСТА.

И UNION, и UNION ALL объединяют результат двух разных SQL. Они отличаются тем, как они обрабатывают дубликаты.

UNION выполняет DISTINCT в результирующем наборе, исключая любые повторяющиеся строки. UNION ALL не удаляет дубликаты, и поэтому он быстрее, чем UNION.

Пример: -

select id, student_name, rank from table_01 
union 
select id, student_name, rank from table_02 

ИЛИ

select id, student_name, rank from table_01 
union all 
select id, student_name, rank from table_02 
+0

«UNION ALL» лучше для производительности и не терять данные из одной из таблиц. Я уже предполагаю, что две таблицы имеют отдельных пользователей, поэтому UNION является ненужным – Eralper

1

Это то, что вы хотите?

select id, student_name, rank from table_01 
union all 
select id, student_name, rank from table_02 
Смежные вопросы