多表查询问题向大家请教
各位高人,有个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= '张三 '
------解决方案--------------------如果是一条线下来,个人认为以文档为中心好设计,表中将要审批人员串成一串,再来一个字段放已审人员的串,两者比较为不能看到的人员,如果有多部分,再加字段,只要不串部门,再汇总到老总那里也是可以的