sqlserver数据库有更多相同结构的表格,如何根据一个字段值查询它所在的一行数据

给你的礼物,谢谢

declare@cloumnsvarchar(40)declare@tablenamevarchar(40)declare@strvarchar(40)declare@countsintdeclare@sqlnvarchar(2000)声明MyCursorCursorForSelecta.nameasColumns,b.nameasTableNamefromsyscolumnsa,sysobjectsb,systypesc其中a.id=b.idandb.type='U'anda.xtype=c.xtypeandc.namelike'%char%'set@str='张三'--输入您想要查找的频道。
打开MyCursorFetch然后FromMyCursorto@cloumns,@tablenameWhile(@@Fetch_Status=0)开始设置@sql='select@tmp_counts=count(*)of'+@tablename+'where'+@cloumns+'='''+@str+'''执行sp_executesql@sql,N'@tmp_countintout',@countif@counts>0startprint'表名:'+@tablename+',字段名'+@cloumnsendFetchnextFromMyCursorInto@cloumns,@tablenameEndCloseMyCursorDeallocateMyCursor

如这道题,涉及到在数据库中查找一张包含“张三”数据的表。

结果如图:

然后就可以找到数据了

从uname='张三'的用户中选择*

sqlserver同时查询多表数据

可以写一个后台循环查询语句,比如for(inti=1;i<13>如果还是不明白,可以追问。
我希望你能采纳它。