我试图统一的一对查询与LEFT JOIN
,这样我可以在所期望的列执行ORDER BY
的最大值。获取从相互关联的MySQL表
表A具有表B的专用的一对多的关系,以及表B具有与表C中的专用一一对多关系
我希望得到一个列中的最大值表C,表A.每一行
我曾经有过被:
$tableA = SELECT * FROM tableA;
for each row in $tableA {
$maxValue = SELECT MAX(value) FROM tableC WHERE tableB_id IN (SELECT tableB_id FROM tableB WHERE tableA_id={$row['tableA_id']}) GROUP BY tableB_id;
}
,现在我的线沿线的思考:
SELECT * FROM tableA LEFT JOIN (SELECT tableA_id, MAX(max_c_value) FROM (SELECT tableB_id, MAX(value) max_c_value FROM tableC GROUP BY tableB_id) t GROUP BY tableA_id) USING(tableA_id)
,但我知道这是胡言乱语。我不知道在哪里可以从这里走。 我发现很难解释的问题,对不起。
我爱'SELECT *'格局! –