用sql语句查找一个字段值存在于哪张表,该怎么写SQL语句?

如题所述

这需要用存储过程来实现,基本方法如下,比如查找全库中所有字段值为“张三”的属于哪张表,可用如下方法:

declare @cloumns varchar(40)
declare @tablename varchar(40)
declare @str varchar(40)
declare @counts int
declare @sql nvarchar(2000)
declare MyCursor Cursor For 
Select a.name as Columns, b.name as TableName from syscolumns a,sysobjects b,systypes c 
where a.id = b.id
and b.type = 'U' 
and a.xtype=c.xtype
and c.name like '%char%'
set @str='张三'
Open MyCursor
Fetch next From MyCursor Into @cloumns,@tablename
While(@@Fetch_Status = 0)
Begin
 set @sql='select  @tmp_counts=count(*) from ' +@tablename+ ' where ' +@cloumns+' = ''' +@str+ ''''
execute sp_executesql  @sql,N'@tmp_counts int out',@counts out
 if @counts>0
 begin
 print '表名为:'+@tablename+',字段名为'+@cloumns
 end
Fetch next From MyCursor Into @cloumns,@tablename
End
Close MyCursor
Deallocate MyCursor

结果如图:

显示的就是含有张三这个内容的表名及字段名

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-02-23
不知道表名的情况下,整个数据库找某个字符信息

http://hi.baidu.com/wangzhiqing999/blog/item/f4a8456659df8fd2e6113a0d.html

请勿在 生产数据库上使用.本回答被提问者采纳
第2个回答  2011-02-23
楼上~~反了吧
UPDATE table SET newcol = oldcol

参考资料:百度一下

第3个回答  2011-02-23
T newcol = oldcol
第4个回答  2011-02-23
这个不同的数据库是不同的

用sql语句查找一个字段值存在于哪张表,该怎么写SQL语句?
这需要用存储过程来实现,基本方法如下,比如查找全库中所有字段值为“张三”的属于哪张表,可用如下方法:declare @cloumns varchar(40)declare @tablename varchar(40)declare @str varchar(40)declare @counts intdeclare @sql nvarchar(2000)declare MyCursor Cursor For Select a.name as Columns, ...

在PL\/SQL中中查找某个字段属于哪个表的SQL语句怎么写?
如果有多个字段名称一样的话,,那查出来的数据就多了 select column_name,table_name from all_col_comments where owner ='SCOTT' AND column_name ='EMPNO'或者 select column_name,table_name from user_col_comments where column_name ='EMPNO'...

在SQL SERVER 数据库中如何根据一个字段名去查哪些表里有这个字段?
a.name为字段,b.name为表sql语句:select a.name,b.name from syscolumns a inner join sysobjects b on a.id=b.id where a.name = 'cAssignId'

sql语句从一张表查询一个字段值插入另一个表中
标准SQL语句格式:INSERT INTO 表名(字段名)select 字段名 from 表面 例子:将查询出的s表中sno,j表中jno,p表中pno插入spj表中 insert into spj(sno,jno,pno)select sno,jno,pno from s,j,p

sql查询本表id字段存在于另一表的数据怎么写
如a表有id,name,b有id,工资,部门,比如a表为本部门的员工表,b表为公司所有员工的工资表。那么b表的id肯定包含a表的id,比如你想本部门所有员工的工资就可以这么写 select a.name,b.工资 from a left join b on a.id=b.id

关于SQL查询,想从很多表中查询一个字段值
select 条码,日期,站1名 from 站1的表 where 字段=条码 union all select 条码,日期,站2名 from 站2的表 where 字段=条码 union all select 条码,日期,站3名 from 站3的表 where 字段=条码 .。。。所有的站的表都用union all连起来,就可以一起查出来到一个表格里 ...

在pl\/sql中如何通过SQL语句查询到某个值使用于数据库的哪些表中?
每个表,每个字段一个sql进行判断,可以先通过 user_tables和USER_TAB_COLUMNS表自动生成SQL 比如:select ‘select count(0) from '||A.table_name ||' where '|| B.column_name ||'=''张明''' from user_tables a,USER_TAB_COLUMNS b where a.table_name=b.table_name and b.DATA_...

如何通过一个值查找到值所在的SQL数据库表?
1、首先新建一张最简单的数据库表,id自增长。2、然后在表中插入重复值。3、接着新建视图,首先要确定自己的删除规则是什么样的,删除编号id比较大的还是比较小的。4、然后将视图select语句粘贴到删除语句后面,执行删除语句。5、最后查看删除后结果,就完成了。

...A表中某字段在B表中某字段中包含的记录,该怎么写
要么你数据库设计有问题。这没法一起查,查出来的都是2表堆在一起的,实在要查的话这样 select a.*,b.* from a,b where a.it=b.code and b.code='S'

用sql查询表1的某字段值包含在表2的某字段值内容里的记录
Select * From "入住名册 " where exists( Select 产权证号 From "房屋产权表"WHERE "房屋产权表".产权人 like '%' || "入住名册".住户名称 || '%')

相似回答