我正在编写一个查询,使用子查询来获取一些结果。
为了不每次重写子查询,我希望能够将列1的输出值作为输入传递给另一个列进行进一步计算。
要点1:我们可以使用任何变量来保存该值,并将其用于另一列中。
样例代码如下:
SELECT COLUMN1
,CASE WHEN (SELECT CancelDate FROM TABLE3 WHERE EXPR....) <> '' THEN 'Cancel' ELSE 'New' END AS **TransactionType**
,COLUMN2
,CASE **TransactionType** WHEN 'Cancel' THEN EXPR 1....
CASE **TransactionType** WHEN 'New' THEN EXPR 2 .... END AS CALCOLUMN2
FROM TABLE1
JOIN TABLE2 ....