我的表中有列Yearmonth
、code
、type
和clntamount
。我想导出列clntamount_der
。
Table view
我希望clntamount
中的110值与type = Total
在列clntamount_der
中,其中type = base
和其余两行(adj和total)为零。
请帮助逻辑。
我试过case语句,但它不工作,也许一个子查询将工作
我的表中有列Yearmonth
、code
、type
和clntamount
。我想导出列clntamount_der
。
Table view
我希望clntamount
中的110值与type = Total
在列clntamount_der
中,其中type = base
和其余两行(adj和total)为零。
请帮助逻辑。
我试过case语句,但它不工作,也许一个子查询将工作
2条答案
按热度按时间cvxl0en21#
您可以使用条件最大窗口函数如下:
demo
此外,似乎
TOTAL
是其他类型(BASE,ADJUST)的总和,在这种情况下,最好在运行中计算TOTAL
(而不是将其存储为单独的行),以避免数据不一致。也就是说,当你更新CLNTAMOUNT
的值,其中type = 'BASE'
,你如何将其反映到type = 'TOTAL'
的值?考虑以下情况,而不将
TOTAL
类型存储在表中。demo
rseugnpd2#
可以使用
case
语句和lead()
函数fiddle