У меня действительно большая модель со многими отношениями «многие-многие». Я создаю представление, используя множество таблиц для лучшего результата поиска, но все равно не могу загрузить в одном поле все значения в сводной таблице.Создайте представление со всеми значениями из сводной таблицы в одном поле в MySQL
Что у меня есть:
CREATE OR REPLACE VIEW westates AS
SELECT
concat(estates.locale,estates.id) as code,
cities.name as city,
councils.name as council,
states.name as state,
countries.name as country,
concat(cities.name,' (',councils.name,')') as city_council,
estates.*
FROM estates
JOIN countries ON (estates.country_id = countries.id)
JOIN states ON (estates.state_id = states.id)
JOIN councils ON (estates.city_council_id = councils.id)
JOIN cities ON (estates.city_id = cities.id)
То, что я хочу (в псевдокоде)
CREATE OR REPLACE VIEW westates AS
SELECT
concat(estates.locale,estates.id) as code,
cities.name as city,
councils.name as council,
states.name as state,
countries.name as country,
concat(cities.name,' (',councils.name,')') as city_council,
estates.*
(SELECT all istallations from installations) as installations //and get all values from pivot table
FROM estates
JOIN countries ON (estates.country_id = countries.id)
JOIN states ON (estates.state_id = states.id)
JOIN councils ON (estates.city_council_id = councils.id)
JOIN cities ON (estates.city_id = cities.id)
JOIN estates_intallations ON (estates.id = estates_installations.estate_id) // this is the pivot table
И получить в поле "установки" все идентификаторы в любом формате:
instatallations может быть содержание :
instatallations => "1 4 7 15" или "[1,4,7,15]" и т. Д.
Я могу сделать это с PHP, но мне нужно использовать один запрос, чтобы избежать использования тысяч запросов для создания этого представления.
(На вопрос недавно, но, возможно, что делает его incomprensible)