因为涉及到三个表,所以考虑采用内连接的形式,SQL如下:SELECT aspnet_Users.UserId, aspnet_Users.UserName, a.FuncName
FROM aspnet_Users INNER JOIN
          (SELECT FuncID, FuncSign, FuncName, 
               BS_FunctionForUsers.UserId form BS_function INNER JOIN
               BS_FunctionForUsers ON 
               BS_FunctionForUsers.FuncId = BS_function.FuncId) a ON 
      aspnet_Users.UserId = a.UserId     采用了内联嵌套,并且为嵌套设置了别名a,但为什么总是提示BS_function附近有语法错误呢?     三个表的主要字段如下:     aspnet_Users表:UserId,UserName
     BS_FunctionForUsers: UserId,FuncId
     BS_Function表:FuncId,FuncSign,FuncName     这个SQL语句的目的就是通过连接,找到用户名(UserName)和功能模块名(FuncName)的对应关系,然后最好能按照用户名分组,列出每个用户名所对应的功能模块名(二者是多对多的关系),可是总是实现不了,盼请高手指教!不胜感激!

解决方案 »

  1.   

    form BS_function  --from
      

  2.   

    SELECT aspnet_Users.UserId, aspnet_Users.UserName, a.FuncName
    FROM aspnet_Users INNER JOIN
      (SELECT FuncID, FuncSign, FuncName,  
      BS_FunctionForUsers.UserId 
      from BS_function INNER JOIN
      BS_FunctionForUsers ON  
      BS_FunctionForUsers.FuncId = BS_function.FuncId) a ON  
      aspnet_Users.UserId = a.UserId
      

  3.   

    SELECT aspnet_Users.UserId, aspnet_Users.UserName, a.FuncName
    FROM aspnet_Users INNER JOIN
      (SELECT FuncID, FuncSign, FuncName,  
      BS_FunctionForUsers.UserId form BS_function INNER JOIN
      BS_FunctionForUsers ON  
      BS_FunctionForUsers.FuncId = BS_function.FuncId) a ON  
      aspnet_Users.UserId = a.UserId
      

  4.   

    SELECT aspnet_Users.UserId, 
        aspnet_Users.UserName, 
        a.FuncName
    FROM aspnet_Users 
    INNER JOIN
    (
    SELECT FuncID, FuncSign, FuncName,  
      BS_FunctionForUsers.UserId from BS_function INNER JOIN
      BS_FunctionForUsers ON  
      BS_FunctionForUsers.FuncId = BS_function.FuncId
    ) a 
    ON  
      aspnet_Users.UserId = a.UserId
      

  5.   

    SELECT
     aspnet_Users.UserId, aspnet_Users.UserName, a.FuncName
    FROM
     aspnet_Users
    INNER JOIN
     (SELECT
       FuncID, FuncSign, FuncName,  
       BS_FunctionForUsers.UserId 
      from
       BS_function 
      INNER JOIN
       BS_FunctionForUsers
      ON  
       BS_FunctionForUsers.FuncId = BS_function.FuncId) a 
    ON  
      aspnet_Users.UserId = a.UserId