读书人

根据角色类型查询不同的表有时间的帮

发布时间: 2012-09-09 09:27:54 作者: rapoo

根据角色类型查询不同的表,有时间的帮忙看下~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 

读书人网 >SQL Server

热点推荐