请问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如何实现批量查询的主要内容,如果未能解决你的问题,请参考以下文章