如何在mysql查询中连接3个表并保存结果

时间:2011-11-02 16:06:02

标签: c# asp.net mysql join inner-join

我有3个表如何通过在MySql中使用join来获取第3个表的值 table1

      RowID     UserID    RoleID    
    1            1       2  
    2           171      3  

表2

 RowID   RoleID   PermissionID
    1        2            2
    2        2            3
    3        3            14
    4        3            15

表3:

PermissionID    PermissionName
        2             Edit organisation
        3             Delete organisation
        14            Create group
        15            Edit group
        16            Delete group

这里我只知道UserID,如果假设UserID是171,那么我应该从table1获取roleid(3)并从表2中获取PermissionID(14,15),然后获取PermissionName(Create group,Edit)表3中我必须将它存储在一个列表中。我该怎么做。我正在使用c#和mysql。感谢

1 个答案:

答案 0 :(得分:1)

从DB中选择的SQL查询:

SELECT p.PermissionID, p.PermissionName
FROM users u
INNER JOIN roles r ON r.RoleID = u.RoleID
INNER JOIN permissions p ON p.PermissionID = r.PermissionID

下一步:(但使用ExecuteReader()代替ExecuteNonQuery())