我希望能对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