就像标题所暗示的,我想实现这样的选择子查询真假
SELECT
(<sub query>) AS some_result,
some_other_result = CASE WHEN some_result > 0 THEN (<another super heavy subquery>) ELSE NULL END
FROM some_table
,输出会是这样的
+-----------------------------------------+
+ some_result + some_other_result +
+-----------------------------------------+
+ 0 + NULL +
+-----------------------------------------+
+ 6.7 + 3.182738998 +
+-----------------------------------------+
我想这样做,因为some_result
不会经常发生,但是当它发生时会减慢我的查询速度。
我有一个备份计划,使用2个查询将实现相同的事情,但我想尽可能避免这种方法。
感谢
使用派生表(或cte)。 – jarlh