怎样在sql2000的数据库里模糊查询某个字段是在那个表

我忘记某个字段是在那个表了,想查它出来
你们误会我的意思了,你们说的只能查列名的所在表。我要查的是某列的字段所在表。如在数据库 sjk里 有个表 b1 里有个列名是column1 ,在column1那列有个字段 zd1.我只知道zd1的某些字,忘记在哪个表,要查出来.

column1我也忘记了啊,就知道zd1。怎样查?

不是在开发工具查啊,是直接在sql2000里查

最好加上那列的长度作为限制。
select name from sysobjects where id = (
select id from syscolumns where name = column1 and length = 50 )

这样查询到的就是表的名称了,可能是多个。

然后用下sql可以
select * from tab_name where column1 like '%zd1%'
其中tab_name是第一条sql查询到的表名。可能要一个一个的尝试,最后就可以得到你想到的结果了。这个可以总结写个存储过程。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-08-11
只能通过系统表,然后遍历所有表的所有字段。查询的速度可能很慢。因为需要用变量作表名,所以在SQL里不知怎么实现。但是可以写个小等程序实现,不知你用什么开发工具?
第2个回答  2008-08-11
select name from sysobjects where id in (select id from syscolumns where name='字段名')
第3个回答  2008-08-11
select object_name(*) tablename from syscolumns where name=''--coloumnsname