问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

SQL Server 已知字段名和对应的一个值,如何查到这个表名?

发布网友 发布时间:2022-04-15 01:50

我来回答

7个回答

热心网友 时间:2022-04-15 03:19

假设你的字段名和值是数据库里面唯一的。

由于你没给字段名和值我列举了一个吧
字段名和值分别为column_name=1

select table_schema,table_name from information_schema.columns where column_name = '1'

用这条语句就能查询出来,其中 table_schema 是所在库, table_name 是所在表

如果你这个字段名和值不是数据库里面唯一的,而且好几个表里面都有的,好像查不出来。

或者能查出来,可惜鄙人才疏学浅,并不掌握!

寥寥几语希望能给你启发和帮助!有错误的地方还请指正!追问感谢,这个方法我知道,可惜我不会写储存过程,每次都搞的死机,只能找大神写源码学习 O(∩_∩)O

热心网友 时间:2022-04-15 04:37

If Object_Id('TempDB..#Result') Is Not Null Drop Table #Result
Create Table #Result(Name Varchar(200))
Declare @TableName Varchar(200), @SQLAdd Varchar(500),
@Name Varchar(30) = '字段', --字段名
@Value Varchar(30) = '值'--对应值

--赋值
Declare cur Cursor Static READ_ONLY For
Select a.name
From syscolumns s JOIN sysobjects a ON s.id = a.id
Where s.name= @Name And a.xType = 'U'
Open cur
Fetch From cur Into @TableName
While @@FETCH_STATUS = 0
Begin
Set @SQLAdd = ' Insert Into #Result(Name) Select '''+ @TableName + ''' From '+ @TableName + ' Where ' + @Name + ' = ''' + @Value + ''''
Exec(@SQLAdd)
Fetch Next From cur Into @TableName
End
Close cur
DeAllocate cur
Select * From #Result追问

30多分钟就执行成功了,不过这个重复值太多了,是不是可以改进一下 O(∩_∩)O

追答重复值的话;j将Select * From #Result改成Select Distinct * From #Result就OK了

热心网友 时间:2022-04-15 06:12

这个只能做个函数或者存储过程,遍历系统表,来定位表格名称

热心网友 时间:2022-04-15 08:03

CREATE PROCEDURE [dbo].[SP_FindValueInDB](@value VARCHAR(1024)) ASBEGIN-- SET NOCOUNT ON added to prevent extra result sets from-- interfering with SELECT statements.SET NOCOUNT ON;DECLARE @sql VARCHAR(1024) DECLARE @table VARCHAR(64) DECLARE @column VARCHAR(64) CREATE TABLE #t ( tablename VARCHAR(64), columnname VARCHAR(64) ) DECLARE TABLES CURSORFORSELECT o.name, c.name FROM syscolumns c INNER JOIN sysobjects o ON c.id = o.id WHERE o.type = 'U' AND c.xtype IN (167, 175, 231, 239) ORDER BY o.name, c.name OPEN TABLES FETCH NEXT FROM TABLES INTO @table, @columnWHILE @@FETCH_STATUS = 0BEGINSET @sql = 'IF EXISTS(SELECT NULL FROM [' + @table + '] 'SET @sql = @sql + 'WHERE RTRIM(LTRIM([' + @column + '])) LIKE ''%' + @value + '%'') 'SET @sql = @sql + 'INSERT INTO #t VALUES (''' + @table + ''', '''SET @sql = @sql + @column + ''')'EXEC(@sql) FETCH NEXT FROM TABLES INTO @table, @columnENDCLOSE TABLES DEALLOCATE TABLES SELECT *FROM #t DROP TABLE #t End

热心网友 时间:2022-04-15 10:11

通过数据(张三)查找 表名和字段明
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

热心网友 时间:2022-04-15 12:36

  第一零九回:候芳魂五儿承错爱,还孽债迎女返真元

热心网友 时间:2022-04-15 15:17

Select table.name
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 蓝军出击中,徐政委的*素质太低了,难道不知道演习就是打仗吗?是不合格的政委! 转业军人洪义思维是那部电视剧 excel中,如何串联有公式的两个单元格? 您好!请问怎样投诉搜狗搜索的恶意诽谤 怎么删除搜狗网页快照,在哪里投诉 被搜狗封了账号怎么办 如何投诉搜狗浏览器不正当评价网店 搜狗问问客服电话是多少 你好,搜狗号码客服电话是多少 搜狗网页游戏客服电话?。:搜狗网页游戏客服电话? 搜狗的总部电话是多少啊。我要举报搜狗。TMD的超级垃圾。 搜狗输入法强制索取用户隐私在哪投诉 搜狗浏览器用户投诉网页怎样进入? 搜狗客服24小时电话人工服务 手机读短信真的能赚到钱 手机怎么挣钱,安全可靠 自编短信可以赚钱吗? 手机群发短信怎么赚钱? 我想问下,手机短信聊天能赚钱吗 有没有用手机发短信赚钱的东西?赐教! asp.net现在用什么开发工具啊 关于ASP.NET的开发工具 用ASP。NET建网站需要那种开发工具 ASP.NET做网站开发需要安装哪些软件? 配置ASP.NET开发环境需要下载什么软件吗?是什么呢? 开发asp.net程序,除了使用visual studio外,大家还经常使用什么辅助软 ... 我想安装ASP.NET开发工具,有什么前提,只需安装开发工具即可吗,别的什么都不用安装吗 ASP.net 用什么编程软件编写比较好? asp.net用什么软件开发最好 ASP.NET的开发工具有哪些 asp.net需要安装那些软件 学习asp.net C#应该用什么开发软件最好? 鞭炮笋和海麦菜一样吗? 海麦菜怎么做好吃 海麦菜不能与什么同食 海麦莱 中国移动全球通积分是怎么来的?怎么累计的? 快的打车和滴滴打车可以要发票吗?用代金券可以要求司机开小票吗? 如何通过字段值查找表名 我在国外 用什么样的代理服务器可以玩国服魔兽 我的世界怎么自己弄地皮,我是一个服主在服里面怎么弄地皮