Ret*_*der 2 sql-server sql-server-2005 sql-server-2000 sql-server-2008
如果我有一组这样的名字:
('first', 'fname', 'firstname', 'namef', 'namefirst', 'name')
Run Code Online (Sandbox Code Playgroud)
SQL Server 2000 - 2008 中检索包含上述特定数据库的列名的不同表名的最佳方法是什么?
我想从显示的表列表中排除系统表和临时表。
SELECT so.name
FROM sysobjects so
INNER JOIN syscolumns sc
ON so.id = sc.id
WHERE sc.name IN ('first', 'fname', 'firstname', 'namef', 'namefirst', 'name')
Run Code Online (Sandbox Code Playgroud)
我相信这是这个问题的衍生。
谢谢
您可以使用该INFORMATION_SCHEMA架构。
SELECT DISTINCT t.TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES t
JOIN INFORMATION_SCHEMA.COLUMNS c
ON t.TABLE_NAME = c.TABLE_NAME
WHERE c.COLUMN_NAME IN (your list of names)
Run Code Online (Sandbox Code Playgroud)
我不记得这是否包括临时表,但您可以查看其他列TABLES以了解要过滤的内容。
| 归档时间: |
|
| 查看次数: |
15674 次 |
| 最近记录: |