我希望能對MySQL有所幫助。Mysql視圖 - 在連接中選擇數據返回多於1行
這裏是我的架構的一部分(第一個表被稱爲「地王」): db_schema
sites.contractor鏈接到companiesornaturalperson.idCompaniesOrNaturalPerson
我建立一個視圖,以從兩張表中收集一些信息。 我需要將sites.latitude,sites.longitude和承包商名稱(companiesornaturalperson.name)放入我的視圖中。
所以我寫了:
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行」更錯誤。
我知道這是因爲我的連接在這些情況下帶來了多個值。問題是我不知道如何只返回一個值(某種「WHERE sites.id =網站的真實ID」)。我做了很多搜索,但仍然無法解決。
什麼它應該返回,如果存在多個承包商?你只想每個經緯度返回1? – sgeddes
只有一個承包商與每個網站相關聯。 – Max