私はKM範囲のテーブルと "オーバーライド"テーブルに問題があります。上書きの開始と終了は、表T1の範囲内にすることができます。例:postgresで範囲をオーバーライド
T1
from to option
-1.4 1.7 A
1.7 4.2 B
4.2 4.6 A
4.6 5.3 B
Override
T2
1.2 4.5 C
問題は、T1から1.7〜4.2行目ですが、この行は「削除」する必要があります。 私の最後のバージョンでは、3行以上ではなく、2行間のオーバーライドしか処理できません。どのように修正できるかわかりません。
dbfiddle上の私の最後のバージョン: http://dbfiddle.uk/?rdbms=postgres_9.6&fiddle=bc71d293c112729fe8d3b077b377ea92
は、それは次のようになります。
Result
from to option
-1.4 1.2 A
1.2 4.5 C
4.5 4.6 A
4.6 5.3 B
use-は何である必要があります。ここで私は、t2からとt1と重なり、そしてちょうどT2を追加するにはT1から「削除します」場合?つまり、新しい範囲を再計算する必要が本当にありますか?与えられた値が属する範囲(オーバーライドを含む)に基づいて、指定された値のオプションを取得するだけでいいですか? – Adam
元のテーブルは1キロメートルと1つのオプションしかないので、この時点でこのオプションは有効です。しかし、上書きはfrom-toで行われているので、正しい選択肢がないので、4.5にギャップがあります。 –