Comme le titre l'indique, je suis en train de réaliser quelque chose comme çaSélectionnez sous requête si une autre sous-requête renvoie true false
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
et la sortie serait quelque chose comme ça
+-----------------------------------------+
+ some_result + some_other_result +
+-----------------------------------------+
+ 0 + NULL +
+-----------------------------------------+
+ 6.7 + 3.182738998 +
+-----------------------------------------+
Je veux faire cela parce que some_result
ne se produit pas si souvent, mais quand il le fait, il ralentit ma requête.
J'ai un plan de sauvegarde qui utilise 2 requêtes qui vont atteindre la même chose, mais je voudrais éviter cette approche si possible.
Merci
Utilisez une table dérivée (ou cte). – jarlh