具有多个联接的MySQL联接查询


MySQL Join Query with Multiple Joins

我试图从三个不同的表中提取信息。以不同的方式相关。我正试图找到一个Join语句,它将使我能够比使用现在的两个查询更好地提取信息。

这是我的

SELECT * FROM reports LEFT JOIN students USING (sID)

这使我能够正确地合并这两个表。但是-报表表中有一行名为pID。我有另一个名为test的表,它也有一个匹配的pID行,以及其他数据。我也在尝试访问该表中的数据。这样能把三张桌子连起来吗?不仅从sID获得数据,还从pID以及获得数据

您可以执行以下

SELECT *
FROM reports
LEFT JOIN students USING (sID)
LEFT JOIN table3 USING (pID)

其中table3是表的名称。

嗨,罗伯特,是的,这是可能的。给定您的三个表、报表、学生和测试,您可以执行如下所示的查询。

SELECT *
FROM `reports`
LEFT JOIN `students` ON `students.sid=reports.sid`
LEFT JOIN `test` ON `reports.pid=tests.pid`