多表查询问题向大家请教
各位高人,有个SQL查询请教:   
 平台:MS-SQL   Server数据库   
 有两个表   
 UserInfo表 
 UserNo	UserLevel 
 张三	4 
 李四	5 
 王五	6   
 FPR表 
 UserNo	SXH	Flag 
 张三	34	0 
 李四	34	1 
 王五	34	0 
 张三	33	0 
 李四	32	1 
 王五	31	0     
 我想查询得到如下值,在FRP表中查询UserNo为“张三”的SXH,条件是FPR表中的Flag值为0,且UserInfo表中的UserLevel大于“张三”的UserLevel值的行。   
 如,上述测试数据中,返回的SXH值为 
 	34 
 	33 
------解决方案----------------------这样?   
 select sxh 
 from FPR as a  
      inner join UserInfo as b on A.UserNo=B.UserNo 
 where b.UserNo= '张三 ' and Flag=0 
------解决方案--------------------如果那个条件不成立就没有必要join  
 select SXH from FPR where Flga=0 and UserNo= '张三 '
------解决方案--------------------如果是一条线下来,个人认为以文档为中心好设计,表中将要审批人员串成一串,再来一个字段放已审人员的串,两者比较为不能看到的人员,如果有多部分,再加字段,只要不串部门,再汇总到老总那里也是可以的