次のような複数のテーブルクエリがあります。
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')
したがって、これにより、3つのツリーエントリのいずれかに属するすべてのリーフエントリが得られます。
さて、私は本当に、指定された順序で、1つのツリーに属するリーフエントリのみを返したいと思います。
したがって、ポプラの木に属する葉のエントリがある場合は、それらのみを表示します。ただし、ポプラの葉のエントリがない場合は、白樺の木に属する葉のエントリのみを表示します。
リーフエントリはいくつあってもかまいません。優先リストに表示されるツリーにあるものが欲しいだけです。理想的には、1つのクエリを使用するだけです。
何か案は?前もって感謝します....