在Mysql中查询多对一

在Mysql中查询多对一,mysql,many-to-one,Mysql,Many To One,下图说明了如何组织我的数据库: 我要找的是一个单个查询,查询结果根据坐标日期为我提供坐标名称、标题项目、标题解决方案和名称客户端 我正在尝试这样的事情: SELECT coordinate_name, title_project, title_solution, name_client FROM coordinate NATURAL JOIN client WHERE date BETWEEN ? AND ? 请确切确定您想要如何定义所有联接(即内部联接、外部联接等),但这应该可以帮助您开始

下图说明了如何组织我的数据库:

我要找的是一个单个查询,查询结果根据坐标日期为我提供坐标名称标题项目标题解决方案名称客户端

我正在尝试这样的事情:

SELECT coordinate_name, title_project, title_solution, name_client FROM coordinate NATURAL JOIN client WHERE date BETWEEN ? AND ?

请确切确定您想要如何定义所有联接(即内部联接、外部联接等),但这应该可以帮助您开始

SELECT
co.coordinate_name,
cl.name_client,
s.title_solution,
p.title_project
FROM
coordinate AS co
INNER JOIN project AS p ON co.project_id_project = p.id_project
INNER JOIN solution AS s ON p.solution_id_solution = s.id_solution
INNER JOIN client AS cl ON s.client_id_client = cl.id_client
WHERE
co.date BETWEEN ? AND ?

迈克,谢谢你的回答!我将按照你的建议做一些测试。