下記のサンプル表を参照してください。私のテーブルにID、ID_Type、Lag、およびRow_Numがあります。下の "New_Col"列を作成する必要があります。私はMAXウィンドウ関数を使用して近づいていますが、まだ成功していません。どんな助けも大いに評価されるだろう - 窓関数が行く方法でないならば、私は間違いなく提案に開かれている。ここでLag/Maxウィンドウ関数を使用して定数を追加する方法は?
は、私は以下のサンプルテーブルに到達するために使用されたSQLです:
SELECT ID,
ID_TYPE,
LAG(ID_TYPE) OVER (ORDER BY Row_Num) AS Lag,
Row_Num
FROM (SELECT ID,
CASE WHEN ID LIKE '%Exc%'
THEN ID
END AS ID_Type,
Row_Num
FROM Source_Table)
サンプル表:
ID ID_Type Lag Row_Num
Exc Exc 1
10R46 Exc 2
10R46 3
100R91 4
Non_Exc Non_Exc 5
10R91 Non_Exc 6
10M95 7
所望の出力:
ID ID_Type Lag New_Col Row_Num
Exc Exc 1
10R46 Exc Exc 2
10R46 Exc Exc 3
100R91 Exc 4
Non_Exc Non_Exc Non_Exc 5
10R91 Non_Exc Non_Exc 6
10M95 Non_Exc 7
ソーステーブルといくつかのサンプルデータを作成するためのSQLを入力してください。あなたが悪い道を途中で通り過ぎているように見えて、私たちにそこから続くことを求めています。私はあなたがここで始まったものとは全く異なる解決策が最高になるという印象を得ます。 – iamdave
@iamdave、ソーステーブルは、実際にはプロパティ管理システムからのスケジュールされた(Excel)レポートです。私はテーブルを作成せず、ExcelファイルをDomo(BIツール)にロードしてから、ファイルをテーブルに変換しました。 Domo内では、追加のETL作業にRedshiftまたはMySQLを使用できます。 – izzy84
期待される出力は何ですか?サンプルデータが入力されたことを考えると、 –