我有包含列和表的表
Name
EmpId
Empname
DeptID
DeptName
Employee
Department
我有INFORMATION_SCHEMA.COLUMNS来获取表名
脚本:
我有表名
Select T.Name from INFORMATION_SCHEMA.COLUMNS I
INNER JOIN @tbl_columns T
ON T.name = I.Table_name
我在这里得到表名
输出:
Name
Employee
Department
我需要输出哪个表具有哪个列
Tbl_Name ColName
Employee EmpId
Employee Empname
Department DeptID
Department DeptName
答案 0 :(得分:1)
您将在您的select
中加入列名:
select c.table_name, c.Column_name
from INFORMATION_SCHEMA.COLUMNS c join
@tbl_columns t
on t.name = c.Table_name
order by c.table_name, c.Column_name;
请注意,您不包括table_schema
,因此可以获取重复项。
答案 1 :(得分:0)
我相信您想通过@tbl_column连接表名和列名。如果可以,我认为您可以使用以下脚本:
SELECT T2.NAME
,C.NAME
FROM SYS.TABLES T1
INNER JOIN @tbl_columns T2 ON T1.name = T2.NAME
INNER JOIN (SELECT C2.*,C1.object_id
FROM SYS.COLUMNS C1
INNER JOIN @tbl_columns C2 ON C1.name = C2.NAME
) C ON C.object_id = T1.object_id