SQL 怎么批量从不同表中查询数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL 怎么批量从不同表中查询数据相关的知识,希望对你有一定的参考价值。

select a.* from doctor_1836501_voice a;
现在我要查询多个号码段的信息 ,1836502 ,1395501 (只有号码段不同,其它都不变,数量很大),……我知道按条件查询的话可以用 in(‘’,'',''……),但是现在是不同表该怎么弄呢?

select * from doctor_1836501_voice
union all
select * from doctor_1836502_voice
.............
只能自己一个个写,没有简便的方法
参考技术A 用union all
select * from a
union all
select * from b
union all
select * from c
参考技术B 把你的表数据列出来。 在说出你期望的效果。

SQL 如何对数据库中相同名称的表中数据进行批量修改

数据库名称是:USERXJ012007~USERXJ402007
表的名称是:z_jzbz
列名称是:jjrq 注:(第一列)是日期型数据2007-7-1
第一列第一行数据由空或则日期 改为我所需要的日期
不同的数据库 批量 命令有吗? 谢谢了
我按照这个语句执行后update z_jzbz set jjrq=2007-7-1 where jjrq=2009-7-1 提示(所影响的行数为 0 行) 数据也没有修改 怎么回事 注:2007-7-1是原来的数据 2009-7-1是需要改成的数据
单独执行update z_jzbz set jjrq=2007-7-1时,数据变成了1905-6-23 请问是什么问题谢谢。

另外update a.jjrq = b.jjrq from USERXJ012007..z_jzbz a,USERXJ402007 ..z_jzbz b
where a.jjrq is null 看不明白这个语句

有命令改不同的数据库 ,方法是在数据库名称后歼加两个点再加表名
update a.jjrq = b.jjrq from USERXJ012007..z_jzbz a,USERXJ402007 ..z_jzbz b
where a.jjrq is null
**意思就是修改USERXJ012007库z_jzbz表的 jjrq字段=USERXJ402007库z_jzbz 表的jjrq字段
参考技术A update z_jzbz set jjrq=2009-7-1 where where jjrq=2007-7-1 参考技术B use master
go

DECLARE @Name varchar(500)
DECLARE test CURSOR FOR
select [name] from sys.databases where [name] like 'USERXJ%'
OPEN test
FETCH NEXT FROM test INTO @Name
WHILE @@FETCH_STATUS = 0
BEGIN
Exec('update '+@Name+'.dbo.z_jzbz set jjrq=''2009-7-1'' where jjrq=''2007-7-1''')
FETCH NEXT FROM test INTO @Name
END

CLOSE test
DEALLOCATE test
GO

以上是关于SQL 怎么批量从不同表中查询数据的主要内容,如果未能解决你的问题,请参考以下文章

SQL怎么查询两个表中不同的数据?

SQL批量插入数据

Oracle数据库中把select语句中查询的记录怎么批量插入数据库中?

mySQL怎么批量替换查询结果中的字段值?

怎样批量删除sql表中数据?

SQL语句 怎么把从一个表中查出来数据插入到另一个表中