日期:2014-05-17  浏览次数:20556 次

关于sysobjects,syscolumns
我想知道某列在哪些表里有,比如 hbl_no这个列在exhbl,aehbl,imhbl`````等表里有
通过syscolumns查出的表名怎么才能得到对应的表···

------最佳解决方案--------------------
SELECT t.name FROM sys.columns c INNER JOIN sys.tables t 
ON c.[object_id]=t.[object_id]
WHERE c.name='hbl_no'

SELECT OBJECT_NAME(c.[object_id]) FROM sys.columns c 
WHERE c.name='hbl_no'
------其他解决方案--------------------
楼主你要注意这两个视图,要找找哪个才是你想要的。
SELECT * FROM syscolumns
SELECT * FROM sys.columns
------其他解决方案--------------------
引用:
我想知道某列在哪些表里有,比如 hbl_no这个列在exhbl,aehbl,imhbl`````等表里有
通过syscolumns查出的表名怎么才能得到对应的表···

通过syscolumns查出的列名怎么才能得到对应的表···

------其他解决方案--------------------
是这样的  我想输入一个列名 就得到数据库有哪些表有这个列名 
 比如说我输入hbl_no,我希望得到所有有这个字段的表的表名·
------其他解决方案--------------------
引用:
是这样的  我想输入一个列名 就得到数据库有哪些表有这个列名 
 比如说我输入hbl_no,我希望得到所有有这个字段的表的表名·

select * from syscolumns where name = 'hbl_no' 返回N行数据· 但是我不知道分别是哪些表的··
------其他解决方案--------------------
引用:
楼主你要注意这两个视图,要找找哪个才是你想要的。
SELECT * FROM syscolumns
SELECT * FROM sys.columns

SELECT t.name FROM syscolumns c INNER JOIN sysobjects t 
ON c.[id]=t.[id]
WHERE c.name='hbl_no'

SELECT OBJECT_NAME(c.id) FROM syscolumns c 
WHERE c.name='hbl_no' 
用这个解决了·  我用的是sqlserver ···3q