MySQLのヘルプに感謝します。ここでMysqlビュー - ジョインのデータを選択すると1行以上が返されます
は私のスキーマの一部(最初のテーブルは、「サイト」と呼ばれている)である。 db_schema
sites.contractorは私がするために、ビューを構築していますcompaniesornaturalperson.idCompaniesOrNaturalPerson
にリンクされています2つのテーブルからいくつかの情報を収集します。 sites.latitude、sites.longitude、請負業者の名前(enterprisesornaturalperson.name)を私の見解に入れる必要があります。
は、だから私は書きました:私は私のサイトのテーブル内の1つの行を持っている場合は、これがうまく機能している
CREATE VIEW `data_entry` AS
SELECT
`sites`.`longitude` AS longitude,
`sites`.`latitude` AS latitude,
(SELECT `companiesornaturalperson`.`name`
FROM sites sites
INNER JOIN
companiesornaturalperson companiesornaturalperson ON sites.contractor = companiesornaturalperson.idCompaniesOrNaturalPerson
) AS contractor_name
FROM sites
が、私は私が「サブクエリが1つの以上の行を返す」につながる行、より多くを持っている場合エラー。
私の参加がこれらのケースで複数の価値をもたらしていることがわかった。問題は、値を1つだけ返す方法がわからないことです(何らかの「WHERE sites.id =サイトの実際のID」)。私は多くの検索をしましたが、まだ解決できません。
複数の請負業者が存在する場合、それは何を返すべき?緯度/経度ごとに1を返すだけですか? – sgeddes
各サイトに関連付けられている請負業者は1つだけです。 – Max