我使用以下查询,并且我在parsts
的原因中使用case语句当report_type ='全'时,我需要所有行,并且不需要选择,但是如果我选择'AR'或'BD',我只需要包含那些相应的语句。然而,当我尝试实现以下逻辑时,它会让我和错误接近或者不确定我在哪里做错了。任何帮助将不胜感激。
select * from aging agedet where
(
'All' = {?Report_Type}
OR
(
CASE
WHEN {?Report_type} = 'AR' THEN
(agedet.bkt_type_ha_c <> 5
AND
agedet.extern_ar_flag_yn <> 'Y'
AND
agedet.bad_debt_flag_yn <> 'Y')
CASE
WHEN {?Report_type} = 'Bd' THEN
(agedet.bkt_type_ha_c = 5
AND
agedet.extern_ar_flag_yn = 'Y'
AND
agedet.bad_debt_flag_yn = 'Y')
END )
)