sql怎么遍历所有表查询出数据

mfld1001 2017-03-26 09:48:12
建了个txt数据源,有很多TXT数据库,表名为‘我爱学习网001.txt’‘我爱学习网002.txt’建了个txt数据源,有很多TXT数据库,表名为‘我爱学习网001.txt’‘我爱学习网002.txt’
‘我爱学习网003.txt’.........‘我爱学习网100.txt’
表结构都一样,只有一个字段姓名,我现在要查询所有表中姓名包含王的,把名字显示出来
另外如果有很多表,表名没有规律,什么表名都有,但是表结构一样,都有一个字段姓名,要查询所有表中的姓名包含王的,把名字显示出来,

这两种情况怎么SQL查询?SQLSERVER
...全文
801 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
道素 2017-03-28
  • 打赏
  • 举报
回复

exec sp_MSforeachtable 'SELECT  ''?'' as tablename,* from ? WHERE CHARINDEX(N''王'',姓名)>0', 
@whereand='  and left(o.name,5)=N''我爱学习网'' '
道素 2017-03-28
  • 打赏
  • 举报
回复
你试试用sp_MSforeachtable 下面的例子是在数据库中所有以price为开头表名的表中搜索指定item_id的价格,然后汇总到临时表中

                CREATE TABLE #price(tablename VARCHAR(100), ItemID VARCHAR(100),price MONEY)
                exec sp_MSforeachtable 'insert into #price SELECT  ''?'' as tablename,Item_ID,W_Price from ? WHERE Item_ID=''0004831''', 
                @whereand=' and o.name like ''price%'' '
                SELECT * FROM #price
mfld1001 2017-03-27
  • 打赏
  • 举报
回复
楼上,能说完整点么?我是小白,什么都不懂得,给个完整代码啊
二月十六 2017-03-27
  • 打赏
  • 举报
回复
拼接字符串实现吧。 用一楼的方法把结构一样的txt表名都读出来,然后循环得到临时表t (select 字段 from 表1 union all select 字段 from 表2....)t select * from t where t.value = '要查找的值'
  • 打赏
  • 举报
回复
不要表名 肯定不行啊
卖水果的net 2017-03-26
  • 打赏
  • 举报
回复
select * from sys.tables 可以查询到你的表名;

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧