sql查询当前登陆人所管理的校区下的人员

StringBuilder sql = new StringBuilder("select accountId, concat( ',', GROUP_CONCAT(FIND_IN_SET(campusId,'").append(joinIds).append("') ) , ',' ) idx " )

.append(" from org_campus_account GROUP BY accountId having idx not like '%,0,%';" );

 

所有校区joinIds

 查询出

org_campus_account 这个表中所有在这个去所有校区中的一条记录。

如果joinIds是一个人拥有的校区12345

那么查询的结果就是这个org_campus_account 表中所有在12345中的校区,查询出来的校区,同一个人的所有校区都包含在12345中,如果12345中没有,那么就排除。

如:26,这个就不要(idx not like '%,0,%' 这个条件就是排除的,

Org_campus_account中村的数据就是校区和人员的关系

 

 

 

这个sql为了拿到登陆的这个人只能看到他管理校区下的所有人。

他不管理的看不到

 

总后的结果需要在查询数据中作为条件

 

 

需要把这些accountId 作为条件

查询出所有的人,但是这些人的条件是我上边查询出的人的范围中。最后查询出的结果就是我管理的人员。

 

Select * from xxx where accountId in (这个sql查询出的结果的人员的拼接())

posted on 2018-05-10 09:52  淡淡人生过  阅读(243)  评论(0编辑  收藏  举报

导航