前提
SQLであるレコードがNULLだった場合、パーティションされた中で、参照中のレコードから相対的に前のレコードを遡り、最初の値を取りたい
テーブル作成などは行わず、SQLだけで対応可能か知りたいです。
実現したいこと
前提だけだと意味不明だと思いますので以下にテーブルを載せておきます。
以下のテーブルがあるとします。
| 列1 |
|---|
| NULL |
| A |
| NULL |
| NULL |
| NULL |
| C |
| NULL |
| NULL |
この場合下の様なデータとして取り出したいと思っています。
| 列1 |
|---|
| NULL |
| A |
| A |
| A |
| A |
| C |
| C |
| C |
試したこと
LAG関数を使用すれば、特定の前レコードは取得できますが、動的な(NULL場合は飛ばすなど)ロジックが上手く組めず断念しました。
テーブルはExcelのシートとは違います。
SQLの基本ですが、ORDER BY でソート順を明示しないと出力される順序は保証されませんから、提示された1列だけのテーブルでは希望するSELECT結果を得る保証はありません。
それを加味して質問を修正されては?