uj5u.com熱心網友回復:
樓主能說一下,這是在干什么嗎?uj5u.com熱心網友回復:
SELECT ROUND(AVG(f.RSTF_PERCENT), 0) AS pmzj_bsp_DISCOUNT,ROUND(AVG(f.RSTF_PERCENT), 0) AS aYzj_bsp_DISCOUNT,ROUND(AVG(f.RSTF_PERCENT), 0) AS pmzj_b2b_DISCOUNT,ROUND(AVG(f.RSTF_PERCENT), 0) AS aYzj_b2b_DISCOUNT,ROUND(AVG(f.RSTF_PERCENT), 0) AS pmzj_b2c_DISCOUNT,ROUND(AVG(f.RSTF_PERCENT), 0) AS aYzj_b2c_DISCOUNT
INTO v_pmzj_bsp_percent,v_aYzj_bsp_amt,v_pmzj_b2b_percent,v_aYzj_b2b_amt,v_pmzj_b2c_percent,v_aYzj_b2c_amt
FROM AIRFARE.MV_FAREBYRULE_REPORT_DATA f
WHERE f.ori_code = ALLROUTE.ORI_CODE
AND f.dest_code = ALLROUTE.Dest_Code
and instr(f.booking_class, ALLBERTH.BOOKING_CLASS) > 0
--BSP票面直減比例
CASE
WHEN f.Rstf_Caculate_Type = 0 AND f.bspgroup IS NOT NULL
THEN AND f.Rstf_Caculate_Type = 0
AND f.bspgroup IS NOT NULL
--BSP按Y直減
WHEN f.Rstf_Caculate_Type = 4 AND f.bspgroup IS NOT NULL
THEN AND f.Rstf_Caculate_Type = 4
AND f.bspgroup IS NOT NULL
ELSE END;
就是對條件不一樣走不同的when
uj5u.com熱心網友回復:
關鍵是:THEN后面怎么有AND??uj5u.com熱心網友回復:
去掉AND也是不行uj5u.com熱心網友回復:
-- 這是語法CASE
WHEN 條件1 THEN 值1
WHEN 條件2 THEN 值2
ELSE 值3
END AS 新列名
uj5u.com熱心網友回復:

還是編譯報錯,不知道什么問題
uj5u.com熱心網友回復:
CASE WHEN THEN只能回傳值。uj5u.com熱心網友回復:
你是要這樣?case when A=0 and B is not null then 0
when A=4 and B is not null then 4
end as type1
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/83864.html
標籤:基礎和管理
