夜
URLと場所の2つのテーブルがあります。簡単にするために、データは次のようになります。
URL:
urlID url
1 /england
2 /scotland
3 /wales
場所:
placeId name lft rgt urlRef
1 England 1 23000 1
2 Scotland 23001 37000 2
3 Wales 37001 50000 3
その場合、placesテーブルには、国の中にネストされた場所がさらにあります。2つのテーブルを結合して、次のような場所のパスを選択できるようにしたいと思います。
England /england
Shropshire /england/shropshire
Shrewsbury /england/shropshire/shrewsbury
私は最初にこれを試しましたが、これは機能せず、他のさまざまな方法も機能しませんでした。
SELECT node.name, url
FROM places AS node, places AS parent LEFT JOIN urls ON urlId = node.urlRef
WHERE node.lft BETWEEN parent.lft AND parent.rgt AND urlId = 1
ORDER BY node.lft