如何通过SQL语句查询到某个值使用于数据库的哪些表中?
例如:数据库中有20张表,“Subject”表是这20张表中的一张。“Subject”表中有一个字段“Name”;“name“字段中有一个值是“张明”。其实“张明”这个值...
例如: 数据库中有20张表,“Subject”表是这20张表中的一张。“Subject”表中有一个字段“Name” ; “name“字段中有一个值是“张明”。 其实“张明”这个值除了“Subject”表有之外,其他的表也可能有。那么我想问一下如何才能通过SQL语句显示哪些表含有“张明”这个值呢? 希望知道的人士告知。
展开
4个回答
2013-09-25
展开全部
仅靠1条sql语句不能实现此功能,如果要实现恐怕得需要写存储过程并且访问系统表
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-09-25
展开全部
楼上的,问题你看了么,人家找的是subject这个表之外,其他表里面是不是也存在“张明”这个值
这个问题,我也没有很好的答案,只能是看看合subject相关联的表里面有没有存有“张明”值
这个问题,我也没有很好的答案,只能是看看合subject相关联的表里面有没有存有“张明”值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-09-25
展开全部
select * from subject where name='张明'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-09-25
展开全部
DECLARE @myname varchar(20),
@mysql varchar(80)DECLARE myCUR INSENSITIVE CURSOR FOR
select a.name from sysobjects a, syscolumns b
where a.id=b.id and a.xtype='U' and b.name = 'Name'
FOR READ ONLY OPEN myCUR
FETCH NEXT FROM myCUR INTO @myname
WHILE(@@FETCH_STATUS <> -1)
begin
set @mysql = 'select top 1 * from ' + @myname + ' where Name =''张明'''
exec(@mysql)
FETCH NEXT FROM myCUR INTO @myname
end
close myCUR
deallocate myCUR
@mysql varchar(80)DECLARE myCUR INSENSITIVE CURSOR FOR
select a.name from sysobjects a, syscolumns b
where a.id=b.id and a.xtype='U' and b.name = 'Name'
FOR READ ONLY OPEN myCUR
FETCH NEXT FROM myCUR INTO @myname
WHILE(@@FETCH_STATUS <> -1)
begin
set @mysql = 'select top 1 * from ' + @myname + ' where Name =''张明'''
exec(@mysql)
FETCH NEXT FROM myCUR INTO @myname
end
close myCUR
deallocate myCUR
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |