加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sqlserver查询某个字段在哪些表中存在

发布时间:2020-12-12 13:31:08 所属栏目:MsSql教程 来源:网络整理
导读:-- 含有医院编号字段的所有表 select ?a . [name]? from ? sysobjects ?a , ( ?????? select ?[id] , count (*) ?b? from ? syscolumns ?????? where ?[name]? = 'column1' ?????? group ? by ?[id] ) b? where ?a . [id] = b . [id]? order by a.name asc ?

--含有医院编号字段的所有表

select?a.[name]?from?sysobjects?a,

(

??????select?[id],count(*)?b?from?syscolumns

??????where?[name]?='column1'

??????group?by?[id]

)

b?where?a.[id]=b.[id]?order by a.name asc

?

--同时含有医院编号和科室编号字段的所有表

?

select?a.[name]?from?sysobjects?a

left?join

select?[id],count(*)?b?from?syscolumns?where?[name]

in('column1','column2')?group?by?[id]?having?count(*)>1

)?b

on?a.[id]=b.[id]

where?b.id?is?not?null


select?a.[name]?from?sysobjects?a

left?join

(

count(*)?b?from?syscolumns?where?[name]

in('column1','column2')?group?by?[id]?having?count(*)>1

)?b

on?a.[id]=b.[id]

where?b.id?is?not?null


--在整个库里查某个值 declare @str varchar(100) set @str='1' ?--要搜索的字符串? declare @s varchar(8000) declare tb cursor local for select s='if exists(select 1 from ['+b.name+'] where convert(varchar,['+a.name+']) like ''%'+@str+'%'') ?print ''select top 5 ['+a.name+'],* from ['+b.name+']''' from syscolumns a join sysobjects b on a.id=b.id where b.xtype='U' and a.status>=0 --所查列的字段类型 ?and a.xusertype in(175,239,231,167,56,60,108,106) open tb fetch next from tb into @s while @@fetch_status=0 begin ?exec(@s) ?fetch next from tb into @s end close tb deallocate tb

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读