当前位置: 代码迷 >> Sql Server >> 根据角色类型查询不同的表,有时间的帮忙看上~3Q
  详细解决方案

根据角色类型查询不同的表,有时间的帮忙看上~3Q

热度:298   发布时间:2016-04-27 11:22:05.0
根据角色类型查询不同的表,有时间的帮忙看下~3Q
当前用户编号user_id=1,首先要从accounts_userroles中查询根据user_id查询出角色类型role_type,如果role_type=1则从项目表project中查询所有项目编号,如果为2则从project2中根据user_id查询出项目编号,有没有方法不通过存储过程一次性将数据查出来的?

------解决方案--------------------
SQL code
declare @role_type intselect @role_type=role_type from accounts_userroles where user_id=1if @role_type=1begin select * from projectendelsebegin select * from project2 where userid=1end
------解决方案--------------------
SQL code
DECLARE @i INTSET @i = 1  --可以修改为2SELECT  *FROM    ( SELECT    * ,                    1 AS role_type          FROM      project          UNION ALL          SELECT    project2.* ,                    2 AS role_type          FROM      project2          INNER JOIN accounts_userroles C ON C.USER_ID = project2.USER_id        ) B        INNER JOIN accounts_userroles A ON A.role_type = B.role_typeWHERE   A.user_id = @i
  相关解决方案