Как я могу объединить две или более таблицы в одну таблицу с именем всех столбцов всех таблиц

Как я могу объединить две или более таблицы в одну таблицу с именем всех столбцов всех таблиц Это таблица1

Это таблица2

Могу ли я получить новый стол, как это

1 ответ

Решение

Чтобы объединить таблицы таким образом, у вас должен быть дополнительный столбец для присоединения, одна из возможностей - использовать ROW_NUMBER():

select T1.[date] [Table1_date],
       T1.[als] [Table1_als],
       T1.[zxc] [Table1_zxc],
       T2.[date] [Table2_date],
       T2.[bls] [Table2_bls],
       T2.[zxc] [Table2_zxc]
from (
    select row_number() over (order by [date]) [rn],[date],[als],[zxc] from Table1
) [T1] left /*right - depends which table has more rows*/ join (
    select row_number() over (order by [date]) [rn],[date],[bls],[zxc] from Table2
) [T2] on T1.[rn] = T2.[rn]

Чтобы объединить несколько таблиц (>2), первой таблицей в запросе должна быть таблица с максимальным количеством записей. Тогда вы можете использовать серии left join с остальными таблицами, присоединяясь к столбцу, созданному row_number(),

Другие вопросы по тегам