У меня есть сайт и относительная CMS, где пользователи могут просматривать и редактировать содержимое и информацию о страницах сайта. Каждая страница связана с голосом меню, через который пользователи сайта могут открывать и просматривать страницу. Страницы и меню хранятся соответственно в таблицах pm_sections и pm_menu. Когда пользователь CMS хочет вставить новую страницу, он должен указать принадлежность связанного голосового меню. Есть три уровня, принадлежащие:MySQL - многопользовательская связь с той же таблицей и другой таблицей
-> menu group (1)
-> main menu voice (2), inside a menu group
-> secondary menu voice (3), inside a main menu voice
В pm_menu таблице, сведение о принадлежащем хранится в столбце «принадлежащий» (значение: 1, 2 или 3) колонке и «menu_id» (голосовое меню, принадлежащий ID). Существует также другая таблица, pm_menu_groups, которая содержит группы основного меню.
Моя проблема заключается в следующем: мне нужно присоединиться к разделам и таблицам меню, чтобы перечислять информацию на странице редактирования страниц CMS. Я пытался сделать это с пунктом UNION:
SELECT s_id, section_name, menu_name, seo_title, last_edit
FROM
((SELECT s.id AS s_id, s.name AS section_name, s.content AS content, m.belonging AS belonging, m.menu_id AS menu_id, n.name AS menu_name, s.seo_title AS seo_title, s.added_by AS author, s.modify_date AS last_edit FROM pm_sections s, pm_menu m, pm_menu n
WHERE m.section_id = s.id
AND m.link IS NULL
AND m.menu_id = n.id
AND m.belonging = 3)
UNION
(SELECT s.id AS s_id, s.name AS section_name, s.content AS content, m.belonging AS belonging, m.menu_id AS menu_id, n.name AS menu_name, s.seo_title AS seo_title, s.added_by AS author, s.modify_date AS last_edit
FROM pm_sections s, pm_menu m, pm_menu n
WHERE m.section_id = s.id
AND m.link IS NULL
AND m.menu_id = n.id
AND m.belonging = 2)
UNION
(SELECT s.id AS s_id, s.name AS section_name, s.content AS content, m.belonging AS belonging, m.menu_id AS menu_id, g.name AS menu_name, s.seo_title AS seo_title, s.added_by AS author, s.modify_date AS last_edit
FROM pm_sections s, pm_menu m, pm_menu_groups g
WHERE m.section_id = s.id
AND m.link IS NULL
AND m.menu_id = g.id
AND m.belonging = 1))
AS belongings_table
ORDER BY section_name
Я хотел бы попросить вас, если это возможно, чтобы сделать это с помощью одного запроса ...
Вы забыли добавить "pm_menu_groups г" в ЕКОМ;) К сожалению, он не работает ... Он присоединяется к каждой странице со всеми записями pm_menu :( – Andres7X