データベースに保存するドキュメントには、同じファイルの異なるバージョン間で一意のID(da_document_id)と共有ID(da_doc_id)があります。同じ種類のファイルの新しいバージョンを追加したとすると、da_document_idは一意ですが、da_doc_idは同じままです。私はテーブルに新しい列を追加し、その特定のファイルの最新バージョンの一意のIDを設定したいと思います。この時点で、すべてのレコードをda_doc_id 14493の最新バージョンで更新しています。テーブルの異なるda_doc_idsに基づいてそれを更新するにはどうすればよいですか?新しい列を追加した後にテーブルの各行を更新する
UPDATE da_favourites
SET da_document_id = (SELECT da_document_id
FROM da_documents
where da_version = (SELECT MAX(da_version)
FROM da_documents
WHERE da_doc_id = 14493
GROUP BY da_doc_id));
da_favouritesテーブルのすべてのda_doc_idsを参照してください。
@edit
表は次のようになります。特定のda_doc_idの最新のものを各da_document_idに取り込みたいとします。 1つのda_doc_idは、da_document_id 11111,22222などの間で共有されている可能性があります。各da_document_idには、元々1から始まるda_versionがあります。da_doc_idのda_document_idを選択します。私は私がイメージからすべてを通過する特定のda_doc_id 14493.ためda_document_idを更新してコードで
。
質問を編集して、サンプルデータと希望の結果を提供できますか? –
@GordonLinoff編集 – hellomate