| 
卡和担保人之間1对多关xi,现在要把3个担保人信xiguaranty放ru卡信息表card中。对于超過3个danbao人的卡随机qu3个担保人信xi既可。 
 现在的处理方shi是写了个存储过程,定义两個游biao,分别是卡和dan保人,取出每张卡信息,再根ju卡号查到担保ren,然后寫入卡信xi表。但这样xiao率很低,3个小时只更xin了15000条。
 qiu高xiao方fa,可以建索引、临时表、存儲过程等数据库可以使用的技术。
 
 网上看过纵列zhuan横lie的方fa,但都不知道怎么给整进来。
 
 数据表信xi
 卡Xin息有11萬条,danbao信息2you10万條。两个担保人的卡有5000张,三个dan保人的有3000个,四个担保人的you500個
 
 卡Xin息表card
 SQL code create table card (
 卡号 varchar2(32) not null,
 担保人1 varchar2(20),
 擔保ren1证件hao varchar2(32),
 担保ren1电hua varchar2(20),
 担保人2 varchar2(20),
 担保人2证件号 varchar2(32),
 担保人2电话 varchar2(20),
 dan保人3 varchar2(20),
 擔保人3证件号 varchar2(32),
 担保人3电話 varchar2(20)
 )
 
 
 担bao人表guaranty
 SQL code create table guaranty (
 cardno varchar2(32),--卡hao
 ownername varhcar2(20), -- 担bao人姓ming
 certid varchar2(32), -- 证件号
 tel varchar2(20) -- 电话
 )
 
 
 数据:
 card
 卡號,担保人1,擔bao人1证件號,担保人1电話,担保人2,擔保人2证件号,擔保人2電话,dan保人3,担bao人3zhengjian号,担保人3電话
 c1,null,null,null,null,null,null,null,null,null
 c2,null,null,null,null,null,null,null,null,null
 c3,null,null,null,null,null,null,null,null,null
 c4,null,null,null,null,null,null,null,null,null
 c5,null,null,null,null,null,null,null,null,null
 c6,null,null,null,null,null,null,null,null,null
 c7,null,null,null,null,null,null,null,null,null
 c8,null,null,null,null,null,null,null,null,null
 
 guaranty
 cardno,ownername,certid,tel
 c1,name1,id1,tel1
 c1,name2,id2,tel2
 c2,name3,id3,tel3
 c2,name4,id4,tel4
 c2,name5,id5,tel5
 c2,name6,id6,tel6
 c3,name7,id7,tel7
 c4,name8,id8,tel8
 
 xi望得到zui終结果:
 卡号,担保人1,擔保ren1证件号,担保人1電话,擔bao人2,担baoren2zheng件号,担保人2dianhua,擔保ren3,担保人3zheng件號,dan保人3dian话
 c1,name1,id1,tel1,name2,id2,tel2,null,null,null
 c2,name3,id3,tel3,name4,id4,tel4,name5,id5,tel5
 c3,name7,id7,tel7,null,null,null,null,null,null
 c4,name8,id8,tel8,null,null,null,null,null,null
 c5,null,null,null,null,null,null,null,null,null
 c6,null,null,null,null,null,null,null,null,null
 c7,null,null,null,null,null,null,null,null,null
 c8,null,null,null,null,null,null,null,null,null
 
 欢迎来到Java学習者论坛,转載请注明地址:http://www.javaxxz.com.
 |