Как я могу объединить две или более таблицы в одну таблицу с именем всех столбцов всех таблиц
Как я могу объединить две или более таблицы в одну таблицу с именем всех столбцов всех таблиц Это таблица1
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()
,