请问SQL如何实现批量查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问SQL如何实现批量查询相关的知识,希望对你有一定的参考价值。

SQL server数据库,有一个工资表,有20万条记录,字段如下:
身份证号 工资

现在本地客户端access的表里面有1000个身份证号,要输出其对应sql server上的工资。
谢谢!
谢谢各位!

具体问题是:
客户端程序的数据库为Access,
有多人同时使用客户端程序,如果在Sql上建立临时表的办法,
是不是各个客户端建立的临时表不能重名,而且执行完毕还要删除各自建立的临时表?

谢谢!

好像解决办法有点愚蠢,但是确实可以这么用
先把那1000多个号码导出成文本
然后在sqlserver里建一张表
create table shenfenzheng (shengfenzheng_id varchar(18));

然后把导出的文本用UE编辑成
insert into shenfenzheng values (\'xxxxxxxxxxxxxxxxxx\');
insert into shenfenzheng values (\'yyyyyyyyyyyyyyyyyy\');
.
.
.
共1000条
然后在sqlserver里执行上述语句,记得后边一定要带分号

然后写个查询
select * from 工资表 where 身份证号 in(select shenfenzheng_id from shenfenzheng);
得到的就是你想要的结果
---------补充---------
你所说的用户是指客户端程序的用户,和数据库用户关系应该不大,各个客户端应该在程序里都有连接数据库的文件,也就是实际操作的用户连接数据库时用的都是数据库同一个用户,所以不用在每个用户下都建临时表
参考技术A 很简单,直接在工资表所在的数据库里导入access的身份证号表,然后联合查询就可以了。

联合查询语句如下:
select A.身份证号,B.工资 from 工资表 A left join 工资表 B on A.身份证号=B.身份证号

如果你不会把access导入SQL server可以给我留言或网上查询资料。
参考技术B 这个可以通过编程连接数据库来解决。
第一个外循环,将身份证号不断从access中导入,第二个内循环,将其带入SQL Server数据库验证,相同就输出。
可以使用ADO.NET实现。
参考技术C 如果安全性要求不高的话,把苦客户端的省份证号传入SQL,直接在ACCESS里用参数查询.查询语句为.SELECT * FROM * WHERE IN (*),,可以试试 参考技术D 临时表不用删除吧,我在重启sql server时,临时表#temp 就消失了呀

以上是关于请问SQL如何实现批量查询的主要内容,如果未能解决你的问题,请参考以下文章

请问SQL如何实现批量查询

请问一个MSSQl数据库,如何按id批量删除记录?

jsp如何实现模糊查询

mysql如何实现先查询后更新的sql语句

请问oracle数据库如何导出数据库的表结构?

SQL 怎么实现模糊查询?