0

ユーザーの役割を割り当てるUser tableCompany table、および の3 つのテーブルがあります。関連する会社のすべてのユーザーが同じ役割を持つようlinking tableにテーブルを更新しようとしています。user_roleロール テーブルは次のようになります。

+---------+---------+------------+
| role_id | user_id | company_id |
+---------+---------+------------+
|       2 |      54 |         30 | 
|      15 |       1 |         15 | 
|      14 |      87 |         32 | 
|      15 |      88 |         33 | 
|      15 |     106 |          3 | 
+---------+---------+------------+

私が論理的にやりたいことは、このようなものです

INSERT INTO user_role 
    (user_id, company_id, role_id) 
VALUES (
         (SELECT user_id FROM user_role WHERE company_id = ##FIRST COMPANY_ID IN LIST##), 
         (##LIST OF COMPANY_ID'S##), 2
       );

company_id の静的リストがあり、その会社で役割を持つすべてのユーザーに、このテーブルで追加の静的 role_id を割り当てたいと考えています。これを達成するための最良の方法は何ですか?ストアド プロシージャを調べる必要がありますか。

4

1 に答える 1

0
INSERT INTO user_role (user_id, company_id, role_id) 
SELECT user_id, company_id, { new role id here }
  FROM user_role 
 WHERE company_id in ( { list of company id's here })
于 2012-08-02T14:39:26.413 に答える