一个数据库data_01,里面有很多很多表table_01````,差不多100多张;每张表里有20多个字段;问题是这样的: 现在我知道字段名称;如何根据字段名查询出我字段所在的表名???????????
解决方案 »
- 高手帮忙一下,SQL语句.或存储过程.
- SQL2005 安装时出现的一个问题(有截图),help me!!!!!!!!!
- select数据过滤掉中间有空格的字段
- 排序计算
- 在sql2000里建了个表,但是出问题了大家帮我看下
- sqlserver中怎么让系统自动删除超过20天的记录或者把超过20天的记录转移到另外一个表
- 求SQL语句(必结贴)
- 怎么样找到凶手? 利用日志 !
- 求一条看似简单的SQL语句(SQL-SERVER2000下)
- jinfeng_wang(G-G-S,D-D-U)对我写的那篇SQL结业论文有异议,说他那篇写得比我好,我不服气,大家来看看,300分,来者有分:)
- 都忘记触发器该怎么样写,请高手帮忙啦!
- 数据库创建大量用户的问题,一般是怎么做的
set @colname = '列名'select DISTINCT a.name from sysobjects as a
inner join syscolumns as b on a.id = b.id
where a.xtype = 'U' and a.status > 0 and b.name = @colname
if object_id('tbTest1') is not null
drop table tbTest1
if object_id('tbTest2') is not null
drop table tbTest2
if object_id('tbTest3') is not null
drop table tbTest3
GO
create table tbTest1(姓名 varchar(10),年龄 int)
create table tbTest2(姓名 varchar(10),出生日期 datetime)
create table tbTest3(产品名称 varchar(10),数量 int)
GO
----查询
declare @colname sysname
set @colname = '姓名'select DISTINCT a.name from sysobjects as a
inner join syscolumns as b on a.id = b.id
where a.xtype = 'U' and a.status > 0 and b.name = @colname----清除测试环境
drop table tbTest1,tbTest2,tbTest3/*结果
name
---------------
tbTest1
tbTest2
*/
where t.id=v.id
and t.name='did'
如果多个表存在该字段,则会显示多个
也不说什么思路
就是你要熟悉以下这几个常用的系统表
sysobjects --所有的表名
syscolumns --所有的表里的列名
systypes --所有的类型
----lz:可以自行打开这几个表看看它们有什么关系、关联等等