假设我在SQL Server中创建了一些数据库表,可以将它们命名为Table1,Table2,Table3,Table4和Table5(但可能更多)。
现在,我想要实现的是可能在这些表中标记可能表示我可以用来加入表的候选列。
这可能以某种方式使用SQL吗?或者是否有任何SW工具可以在数据/表上创建数据库模型,这些数据/表将连接具有相同列名的表?
示例可以是商业智能表结构:我可以有5个表,并希望决定为事实表等共享哪个维度。
答案 0 :(得分:0)
您可以查看其中包含特定文本的所有列,例如"%ID" 使用此脚本:
SELECT t.name As TableName, c.name AS ColumnName
FROM sys.tables AS t
INNER JOIN sys.columns AS c
ON t.[object_id] = c.[object_id]
WHERE c.name Like ('%ID') --You can change ID to anything you need
AND t.is_ms_shipped = 0
AND t.name NOT LIKE '#%';
此处发布了类似的问题:How to select column names from multiple tables in SQL Server 2000-2008 that are in a set of names