Как объединить 3 таблицы в MySQL запросе и сохранить результат - PullRequest
0 голосов
/ 02 ноября 2011

У меня есть 3 таблицы, как получить значение 3-й таблицы с помощью соединения в MySql таблица1

      RowID     UserID    RoleID    
    1            1       2  
    2           171      3  

table2

 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, то я должен получить roleid (3) из таблицы 1 и получить PermissionID (14,15) из таблицы 2, а затем получить PermissionName (Создать группу, Изменить группа) из таблицы 3, и я должен сохранить его в списке. Как мне это сделать. Я использую C # и MySQL. Спасибо

1 Ответ

1 голос
/ 02 ноября 2011

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 ())

...