我有要求
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,
...