求一个查询SQL
分别有表1和表2,将表2的记录按layout_id向表1的记录匹配 
 如果表1中layout_id为1的记录共4条,表2中layout_id为1的记录共2条   
 结果如下:   
 表1:   
 name   layout_id 
 a               1 
 b               2 
 c               1 
 d               1 
 e               1 
 f               3   
 表2:   
 code         layout_id 
 1001               1 
 1002               2 
 1003               2 
 1004               1 
 1005               3   
 想得到结果   
 name         layout_id         code 
 a                        1                           1001 
 b                        2                           1002 
 c                        1                           1004 
 d                        1                           null 
 e                        1                           null 
 f                        3                           1005   
 求SQl
------解决方案--------------------declare @a table(name varchar(10), layout_id int) 
 insert @a select  'a ', 1 
 union all select  'b ', 2 
 union all select  'c ', 1 
 union all select  'd ', 1 
 union all select  'e ', 1 
 union all select  'f ', 3   
 declare @b table(code int, layout_id int) 
 insert @b select 1001, 1 
 union all select 1002, 2 
 union all select 1003, 2 
 union all select 1004, 1 
 union all select 1005, 3   
 select name,aa.layout_id,code from 
 (select top 100 percent id=(select count(1) from @a where layout_id=a.layout_id and name <=a.name),name,layout_id from @a a order by layout_id,name)aa 
 Left Join 
 (select top 100 percent id=(select count(1) from @b where layout_id=b.layout_id and code <=b.code),code,layout_id from @b b order by layout_id,code)bb 
 on aa.id=bb.id and aa.layout_id=bb.layout_id order by name