我有几个表格如下所示:

+------------------------------------+
+ 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;
.

有帮助吗?

解决方案

Use a union

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
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top