△这种方法适用于2个表之间没有字段有联系,...... 这种方法适用于2个表之间没有字段有联系,只是按已排列的顺序合在一起,下面的方法是不用临时表用子查询实现的方法,该方法不适用于处理大量行。它适用于处理几百行。对于大型表,一定要使用索引以避免进行大范围的搜索。 create table tb1 (id int identity(1,1) primary key clustered, l_name varchar(10)) go create table tb2 (l_id char(3) primary key clustered, f_name varchar(10)) --tb1中的数据 id l_name ----------- ---------- 1 aaa 2 bbb 3 ccc 4 ddd 5 eee 6 fff 7 ggg 8 hhh 9 kkk --tb2中的数据 l_id f_name ---- ---------- afd dfsg1 cbn gsdg2 cgb kddf3 dlk fgjn4 ery bfhfhx5 fdh dsdfas6 gjf dfh7 lft cfghsh8 snf dgjhdg9 --合并程序 select id,l_name,l_id,f_name from (select rank=count(*),a.id,a.l_name from tb1 a join tb1 b on a.id>=b.id group by a.id,a.l_name ) a1 join (select rank=count(*),a.l_id,a.f_name from tb2 a join tb2 b on a.l_id>=b.l_id group by a.l_id,a.f_name ) a2 on a1.rank=a2.rank --结果 id l_name l_id f_name ----------- ---------- ---- ---------- 1 aaa afd dfsg1 2 bbb cbn gsdg2 3 ccc cgb kddf3 4 ddd dlk fgjn4 5 eee ery bfhfhx5 6 fff fdh dsdfas6 7 ggg gjf dfh7 8 hhh lft cfghsh8 9 kkk snf dgjhdg9 |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )
GMT+8, 2024-9-29 17:35 , Processed in 0.167424 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.