我有两个表TMP和TMP1所以我想从syscolumns中选择并获取2个表的列名我希望得到这样的结果
tablename columnname tablename1 columnname1
Tmp col1 ……
假设:
建立:
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
上述代码在ASE 15.7 SP138数据服务器上进行了测试。