Допущения:
- это Sybase ASE
- таблицы имеют одинаковое количество столбцов
- имена столбцов одинаковы в 2 таблицах
Настройка:
create table TMP (col1 int, col2 int)
go
create table TMP1(col1 iny, col2 int)
go
Есть несколько способов сделать это, но мы настроим данный запрос:
select 'TMP' as tablename,
sc.name as columnname,
'TMP1' as tablename1,
sc1.name as columname1
-- can't join syscolumns on 'id' because each table has a unique object id;
-- only thing we have to join on is the similarly named columns
from syscolumns sc
join syscolumns sc1
on sc.name = sc1.name
where sc.id = object_id('TMP')
and sc1.id = object_id('TMP1')
order by sc.name
go
tablename columnname tablename1 columname1
--------- ---------- ---------- ----------
TMP col1 TMP1 col1
TMP col2 TMP1 col2
Приведенный выше код был протестирован на ASE15.7 Сервер данных SP138.