问个基础有关问题,同时显示两列名称

问个基础问题,同时显示两列名称
由如下两个表,a和b
a的结构如下
cpersoncode    ccode
001                       002

b的结构如下
cpersoncode    cname
001                       张三
002                       李四


现在想查询出的结果是想只显示一行,然后把001和002的名称都分别显示出来,这个语句应该怎么写?
------解决思路----------------------

select 
    (select top 1 cname from b where cpersoncode =a.cpersoncode) cpersoncode    
    ,(select top 1 cname from b where cpersoncode =a.ccode) ccode    
from a