Вы можете сделать это с помощью CTE, например,
WITH A AS
SELECT COUNT(*) c FROM TableA A
WHERE A.ColumnA = B.ColumnB
AND A.ColumnA2 = 0
Select A.c As test
from TableA ta
inner join TableB tb
on ta.columnA=tb.columnB
cross join A
Это сделает A.c
доступным в вашем запросе. Затем вы также можете сделать (select c from A)
в любом месте вашего запроса, чтобы получить значение.
В качестве альтернативы, если вы запускаете скрипт в SQL * Plus, вы можете определить переменную столбца с помощью new_value
:
COLUMN my_count NEW_VALUE my_constant
SELECT COUNT(*) my_count FROM TableA A
WHERE A.ColumnA = B.ColumnB
AND A.ColumnA2 = 0;
Затем вы можете обратиться к нему позже в вашем скрипте, используя строку подстановки &&my_constant
:
Select case
when &&my_constant <0
then 1
else 2
End as selectedcolumn from TableB