我有要求

SELECT IF(f.date_term=3,t.quarter*f.date_term ,''),
       IF(f.date_term=6,t.halfyear*f.date_term,''),
       IF(f.date_term=12,t.year*f.date_term,'')

但这不是工作。
如何创造条件?我需要一个值IF(date\u term==3){select quarter}ELSE IF(date\u term==6){half year}。。。。

最佳答案

使用aCASE expression

SELECT CASE f.date_term
         WHEN 3 THEN t.quarter
         WHEN 6 THEN t.halfyear
         WHEN 12 THEN t.year
       END AS term_interval,
       ...

没有什么可以阻止你同时进行计算:
SELECT CASE f.date_term
         WHEN 3 THEN t.quarter * f.date_term
         WHEN 6 THEN t.halfyear * f.date_term
         WHEN 12 THEN t.year * f.date_term
       END AS term_calc,
       ...

10-08 08:04
查看更多