我有一些复杂的查询,我正在努力解决。您会注意到模式并不是最容易使用的东西,但它是我得到的,没有时间重新设计(常见的故事!)。
我有像下面这样的行。注意: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 中做到这一点吗?最好是一个查询。我猜你需要使用乘法运算符(不知何故)和分组。
任何帮助都会很棒。谢谢你。