1

次のようにレイアウトされたテーブルがいくつかあります。

+------------------------------------+
+ user_id | action_id | action_level +
+------------------------------------+
+ id_user | action_id | action_level +
+------------------------------------+

これらが単一のテーブルとして機能するMySQLビューを作成するにはどうすればよいですか(または、誰かがより良いオプションを提案できるかもしれません):

+------------------------------------+
+ user_id | action_id | action_level +
+------------------------------------+

参加する代わりに、次のように表示されます。

+---------------------------------------------------------------------------------+
+ user_id | id_user | a_action_id | b_action_id | a_action_level | b_action_level +
+---------------------------------------------------------------------------------+

そうすれば、テーブルに対して検索を実行すると、次のように簡単に検索できます。

SELECT * FROM my_view WHERE action_id = 2;
4

1 に答える 1

3

ユニオンを使用する

CREATE VIEW `user_actions` AS
SELECT a.user_id, a.action_id, a.action_level
UNION ALL
SELECT b.id_user AS user_id, b.action_id, b.action_level
于 2012-03-01T23:46:53.200 に答える