Объединение взглядов, чтобы выступать в качестве одной таблицы с объединенными рекордами

StackOverflow https://stackoverflow.com/questions/9525964

  •  15-11-2019
  •  | 
  •  

Вопрос

У меня есть пара таблиц, которые выложены, как это:

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