Vous pouvez réutiliser la requête comme ceci :
WITH
TURNOVER AS (
SELECT SUM(...) FROM ...)
),
COST AS(
SELECT SUM(...) FROM ...
)
SELECT *
FROM(
SELECT
TURNOVER.sum as SUM_TURNOVER
FROM
TURNOVER,COST
WHERE ....
) AS a
Cela équivaut à :
SELECT *
FROM(
SELECT
TURNOVER.sum as SUM_TURNOVER
FROM
(
SELECT SUM(...) FROM ...)
)AS TURNOVER,
(
SELECT SUM(...) FROM ...
)AS COST
WHERE ....
) AS a
Il y a un point à noter ici. La première méthode est plus lisible et réutilisable, mais la seconde méthode peut être plus rapide, car la base de données peut choisir un meilleur plan pour cela.