119 sql-server
如何获取给定列名称所在的所有表名?我希望在sql server中使用"Like"这些名称.例如 :-
select TableNames where columnname like '%MyColumn%'
Run Code Online (Sandbox Code Playgroud)
请帮我
Nav*_*ari 272
请尝试以下查询.使用sys.columns获取详细信息: -
SELECT c.name AS ColName, t.name AS TableName
FROM sys.columns c
JOIN sys.tables t ON c.object_id = t.object_id
WHERE c.name LIKE '%MyCol%';
Run Code Online (Sandbox Code Playgroud)
Ari*_*ion 29
你可以这样做:
SELECT t.name AS table_name,
SCHEMA_NAME(schema_id) AS schema_name,
c.name AS column_name
FROM sys.tables AS t
INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID
WHERE c.name LIKE '%MyColumn%'
ORDER BY schema_name, table_name;
Run Code Online (Sandbox Code Playgroud)
参考:
Gan*_*kar 17
尝试这样:对于SQL SERVER 2008+
SELECT c.name AS ColName, t.name AS TableName
FROM sys.columns c
JOIN sys.tables t ON c.object_id = t.object_id
WHERE c.name LIKE '%MyColumnaName%'
Run Code Online (Sandbox Code Playgroud)
要么
SELECT COLUMN_NAME, TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME LIKE '%MyName%'
Run Code Online (Sandbox Code Playgroud)
或者像这样的东西:
SELECT name
FROM sys.tables
WHERE OBJECT_ID IN ( SELECT id
FROM syscolumns
WHERE name like '%COlName%' )
Run Code Online (Sandbox Code Playgroud)