次の構造と値を持つテーブルがあります。
location_id, location_name, parent_id
1, USA, 0
2, Illinois, 1
3, Chicago, 2
4, New York, 1
このフラグメントでは、の値が 0'USA'
であるため、 の行は国と見なされます。ただし、他の値がある場合は、特定の場所がある場所の下にあることを意味します。複数のレベルの場所があり、設定されていません。2 レベル、3 レベル、4 レベルなどがあります。parent_id
parent_id
たとえば。アメリカ合衆国 > アラバマ州 > アラバマ湾岸 > ガルフ ショアーズ
すべてのlocation_id
エントリを取得する必要がありますが、それ以上の場所はありません。上記の例では、「Gulf Shores」という回答が得られるはずです。
解決策は次のようにする必要があると思います:
SELECT location_id FROM location WHERE "( parent_id does not contain any value from location_id )"
しかし、正確な構文を理解することはできません。これをどのように実装すればよいですか?