2015-12-02 5 views
1

Если я tlb1 как:Объединение нескольких таблиц в одном

col1 

1 

2 

3 

Теперь у меня tlb2 как:

col2 col3 

4  Four 

5  Five 

6  SIX 

Нет У меня есть tlb3 как

col4   col5 

    sample14  sample15 

    sample24  sample25 

    sample34  sample35 

Что может быть запрос, если я хочу получить результат как:

col1 col2 col3 col4  col5  

1  4  Four sample14 sample15 

2  5  Five sample24 sample25 

3  6  Six sample34 sample35 

Я попытался с:

select ((select * from tlb1), (select * from tlb2),(select * from tlb3)) T 

Но это не удалось.

Пожалуйста, помогите мне.

+0

Почему вы хотите совместить совершенно несвязанные данные? Что делать, если различное количество строк в таблицах? – jarlh

+0

различное количество строк создает только проблемы .. –

+0

Да, вы видите! Все еще думайте, что это хорошая идея? – jarlh

ответ

3
with t1 as (select col1, row_number() over (order by col1) rn from tbl1), 
t2 as (select col2,col3, row_number() over (order by col2) rn from tbl2), 
t3 as ( select col4,col5, row_number() over (order by col4) rn from tbl3) 
select t1.col1,t2.col2,t2.col3,t3.col4,t3.col5 
from t1 full outer join t2 on t1.rn = t2.rn 
t3 full outerjoin t2 on t2.rn = t3.rn 

попробовать что-то вроде этого ...

+0

Да, это несколько работает для меня .. Если какая-либо деструкция я вернусь к вам –

Смежные вопросы