私は、多くの "多対多の"リレーションを持つ本当に大きなモデルを持っています。 検索結果を向上させるために多くのテーブルを使用してビューを作成しますが、ピボットテーブルのすべての値を1つのフィールドに読み込むことはできません。私が持っているものMySQLの1つのフィールドにピボットテーブルからのすべての値を含むビューを作成
:私は(擬似コードで)何をしたいです
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
し、任意の形式のすべてのID "インストール" フィールドに取得する:
instatallationsコンテンツがかもしれません:
instatallations => "1 4 7 15"または "[1,4,7,15]"など
私はPHPでそれを行うことができますが、このビューを作成するために何千ものクエリを使わないで1つのクエリを使用する必要があります。 i...=...
使用どんな条件の絆 `については
(最近聞かれるが、おそらくそれはincomprensible作る)