我正在制作一个存储过程,它有一个 SELECT 子句从一些连接表中选择多个列。对于这些列之一,该值取决于 CASE 的条件。
SELECT DISTINCT
table1.col1 as var1,
table2.col2 as var2,
CASE WHEN (FLOOR(table3.col3/0.2)*0.2) > 20 THEN 20
WHEN (FLOOR(table3.col3/0.2)*0.2) <= 20 THEN FLOOR(table3.col3/0.2)*0.2
ELSE table3.col4 -- selecting another value is the
-- value in table3.col3 is null
END as var3
FROM ...
WHERE ...
正如您在选择中看到的那样,我正在执行三倍的 FLOOR(table3.col3/0.2)*0.2 计算。是否可以将此计算值存储在 SELECT 内的变量中,然后在条件中使用此变量?
提前致谢,
杰伦