jeudi 17 septembre 2015

Insert state and selected values at same time

Table User

|_id, | login |
---------------
|  1  |  test |

Table Role

|_id, | role_name|
------------------
|  1  |  Admin   |
|  2  | Moderator|
|  3  |  User    |

Table User_Login

| user_id | role_id |

I want to set for user with ID 1 roles that are searched in query by they names, here what I got so far:

"INSERT INTO user_role
        + "(userId, roleId) VALUES (1, (SELECT r._id FROM roles r WHERE r.role_name IN ('Admin', 'Moderator', 'User')))"

Thing is that is set only one Id from role instead of 3

Expected result:

|user_id|role_id|
-----------------
|   1   |   1   |
|   1   |   2   |
|   1   |   3   |

And what I get:

|user_id|role_id|
-----------------
|   1   |   1   |

Aucun commentaire:

Enregistrer un commentaire