我試圖統一的一對查詢與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 *'格局! –