是否有任何方法给定一个列,它使用SQL Query属于哪个表?

时间:2010-10-13 10:45:23

标签: database

是否有任何方法给定一个列,它使用SQL Query属于哪个表?

5 个答案:

答案 0 :(得分:1)

是的,假设这是SQL server db,您可以查看以下查询 -

select [name], object_name(id) from sys.columns where [name] like '%columnname%'

object_name(id)将为您指定列名的表名。

答案 1 :(得分:1)

你可以尝试使用Sql Server 2005 +

这样的东西
SELECT OBJECT_NAME(c.OBJECT_ID) TableName, c.name ColumnName
FROM sys.columns c
WHERE c.name = '<column name>'

答案 2 :(得分:0)

尝试

SELECT OBJECT_NAME(id) FROM syscolumns WHERE [name] = 'mycolumn'

答案 3 :(得分:0)

使用syscolumns表(假设您只有列名),可以确定哪些表包含具有该名称的列。但除此之外,你可能会陷入困境。

答案 4 :(得分:0)

如果您试图找出查询中特定列来自哪个表,那么最好的办法是在编写查询时对所有列进行别名。我不会接受代码审查中没有执行此操作的任何代码,因为稍后要弄清楚是很痛苦的。