以下に示すようにデータベーステーブルを設定しました。
copy_blocks
id (auto-increment int)
content (text)
parent_id (int)
コピーが初めて挿入されるとき、parent_id はそれ自体に設定されます。例:
copy_blocks
id content parent_id
1 Hello, World 1
そのコピーがユーザーによって更新されると、新しい行が挿入されますが、それらの行は常にコピー ブロックの最初のバージョンを指します。
copy_blocks
id content parent_id
2 Hello, World! 1
3 Heya, World!! 1
このように構造化することで、コンテンツの特定のバージョンを照会したり、親コピー ブロックを見つけて最新バージョンを検索したりできます。(この場合、バージョン #3)
そこで私の質問です。すべてのコンテンツ ブロックの最新バージョンを常に返すクエリを思いつく人はいますか? 理想的には、クエリは次の結果を返します。
id content parent_id
3 Heya, World!! 1
それ自体に参加することと関係があるように感じます。少なくとも 2 つの異なるクエリまたはサーバー側のコードがなければ、それを行う方法が思い浮かびません。