私は非常にユニークなレコード一致問題を現在のpostgresで処理しています。基本的には、私は一致する必要があるキー値とレコードの日付を含む、多くのレコードを含むテーブル(A)を持っています。次に、私はこのキー値の最初のテーブルと一致させたいこの他のテーブル(B)を持っています。ただし、両方のテーブルに同じ「キー値」が複数存在する可能性があります。これを回避するには、テーブルAからの最も早いキー値をテーブルBの最も早いキー値に合わせる必要があります。2番目に早いキー値を2番目に早い順に並べ替えるなどです。ただし、テーブルBのキー値が一致しない場合テーブルBの場合は、既に他のものがすでに一致していても、Aの最新のキー値一致にデフォルト設定したいと考えています。Postgres:キー値と各テーブルの最古の日付に基づいて2つのテーブルのレコードを一致させる必要があります
ROW_NUMBER() OVER (PARTITION BY key_value ORDER BY date) AS rank
そしてランクとKEY_VALUE分野に参加する:
私の最初に考えたのは、両方のテーブルの上にこのようなものを使用することです。しかし、私はこの方法で動作するようにデフォルトのシナリオをどのように取得するのか正確にはわかりません。レコードが一方のテーブルに追加され、他方のテーブルに追加されずに再び結合を試みると、同期が外れる可能性があります。
私の他の考えは、カーソルを使用することでしたが、私はそれを実装する方法を見て本当に苦労しています。
ご協力いただければ幸いです!
に一致せず一つは、あなたに感謝!すぐに実装しようとしています – eosos