我有一个如下所示的表(附有表的图像)。
TableA:ID1,ID2和Date列是表A的主键。
ID1|ID2| QTY| Date
1. 11. 10. 01/06/2020
2. 22. 0. 08/06/2020
3. 33. 10. 15/06/2020
4. 44. 0. 22/06/2020
5. 55. 10. 29/06/2020
我想找到一个月的最大QTY值,然后将该最大值更新为QTY列中的零值。
预期结果
ID1|ID2| QTY| Date
1 | 11 |10 | 01/06/2020
2 | 22 | 10| 08/06/2020
3 | 33 | 10| 15/06/2020
4 | 44 | 10| 22/06/2020
5 | 55 | 10| 29/06/2020
请注意:这里的日期列始终不必是星期一的日期。如果所有月份的任何月份都为零,则QTY。我想从查询中排除这些记录
请帮助我如何使用PLSQL。
答案 0 :(得分:0)
您可以使用相关子查询:
update t
set qty = (select max(t.qty)
from t t2
where trunc(t2.date, 'MON') = trunc(t.date, 'MON')
where qty = 0;