Объединение представлений в единую таблицу с объединенными записями - PullRequest
1 голос
/ 02 марта 2012

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

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

1 Ответ

3 голосов
/ 02 марта 2012

Используйте соединение

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