私は苦労している少し複雑なクエリを持っています。スキーマを操作するのが最も簡単ではないことに気付くでしょうが、それは私が与えられたものであり、再設計する時間はありません (よくある話!)。
以下のような行があります。注: 3 桁のvalue
数字は、私が作成した乱数です。
id field_id value
1 5 999
1 6 888
1 7 777
1 8 foo <--- foo so we want the 3 values above
1 9 don't care
2 5 123
2 6 456
2 7 789
2 8 bar <--- bar so we DON'T want the 3 values above
2 9 don't care
3 5 623
3 6 971
3 7 481
3 8 foo <--- foo so we want the 3 values above
3 9 don't care
...
...
n 5 987
n 6 654
n 7 321
n 8 foo <--- foo so we want the 3 values above
n 9 don't care
この結果が欲しい:
id result
1 999*888*777
3 623*971*481
...
n 987*654*321
これは明らかですか?したがって、行を持つテーブルがありn*5
ます。行のセットのそれぞれについて5
:3
それらの行には一緒に乗算したい値があり、それらの行は乗算する1
かどうかを示し1
、それらの行は気にしないため、クエリ結果に行が含まれないようにします。
Oracleでこれを行うことはできますか? できれば1つのクエリ..乗算演算子(どういうわけか)とグループ化を使用する必要があると思います。
どんな助けでも素晴らしいでしょう。ありがとうございました。