同様のテーブルから「最上位」のデータを取得したい:
ABC | ID 1 2 3 | 1 4 5 | 1 6 | 1
AC=Columns
1-6 の値 (フィールドが設定されていない場合は空です)
データは ID の順序に従って降順です
クエリを実行すると、最新の書き込みデータを取得したいと思います。この例では、クエリは 1、4、および 6 を 1 行で返す必要があります。
abc | ID 1 4 6 | 1
これは私が試したものですが、正しい結果が得られますが、行が異なります:
select * from
( select id, a from dataTable where id=(select max(dt.dataRow) from dataTable dt where dt.id = 1)) a_query
full outer join
( select id, b from dataTable where id=(select max(dt.dataRow) from dataTable dt where dt.id = 1)) b_query
on a_query.id=b_query.id
full outer join
( select id, c from dataTable where id=(select max(dt.dataRow) from dataTable dt where dt.id = 1)) c_query
on nvl(a_query.id, b_query.id)=c_query.id
望ましい Oracle SQL