SELECT查詢我有一個多表查詢,看起來像:SQL - 優先過濾
SELECT tree.name, tree.type, branch.name, branch.type, leaf.name, leaf.type
FROM tree, branch, leaf
WHERE leaf.branch_id = branch.id
AND branch.tree_id = tree.id
ORDER by field(tree.type, 'Poplar', 'Birch', 'Hazelnut')
所以這給了我屬於任何三種樹條目的所有葉項。
現在,我真的只想返回屬於一棵樹的葉子條目,按照指定的順序。
因此,如果有葉子條目屬於白楊樹,只顯示這些。但是,如果沒有Poplar Leaf條目,則只顯示屬於Birch樹的葉條目。
可能有任何數量的葉條目。我只想要那些出現在我的優先級列表中的樹。理想情況下只使用一個查詢。
任何想法?在此先感謝....
請畫表結構必不可少的虛擬數據和http://sqlfiddle.com – diEcho 2012-08-16 10:32:57