我有一個master
表,其中有多個級別存儲的項目,父母和孩子,還有第二個表可能有也可能沒有額外的數據。我需要從我的主表中查詢兩個級別,並在我的第二個表上有一個左連接,但由於我的查詢中的排序,這不起作用。在一個查詢中的多個表上的多個左連接
SELECT something FROM master as parent, master as child
LEFT JOIN second as parentdata ON parent.secondary_id = parentdata.id
LEFT JOIN second as childdata ON child.secondary_id = childdata.id
WHERE parent.id = child.parent_id AND parent.parent_id = 'rootID'
左連接只適用於from子句中的最後一個表,所以我只能使它適用於其中一個左連接。在上面的例子中,沒有任何左連接將工作,因爲第一個左連接指向from子句中的第一個表,第二個將不會像這樣工作。
我該如何做這項工作?
混合「舊式」與「新風貌」(LEFT JOIN(FROM子句中的兩個表的名稱)...ON)幾乎肯定會流淚。重寫一下,並仔細看看你的WHERE子句,這可能會消除你不想被淘汰的行。 –