是否有任何方法给定一个列,它使用SQL Query属于哪个表?
答案 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)
如果您试图找出查询中特定列来自哪个表,那么最好的办法是在编写查询时对所有列进行别名。我不会接受代码审查中没有执行此操作的任何代码,因为稍后要弄清楚是很痛苦的。