Salut à tous,
J’ai une requete SQL que je voudrais trier sur base d'1 champ qui est dérivé d’autres champs de cette même requête.
Ma question serait de savoir si mon champ dérivé sera calculé 2x (une fois pour le SELECT et une fois pour le ORDER BY) auquel cas il est probablement préférable de passer par une subquery.
Voilà mes 2 hypothèses (ma requete est ici un peu simplifiée mais c’est le principe)
Hypo 1 :
SELECT
data2.entity_nr,
data2.column_b,
data2.column_c,
data2.column_d,
data2.column_e,
data2.column_b-data2.column_c-data2.column_d+data2.column_d AS column_f,
FROM
data2
ORDER BY
data2.column_b-data2.column_c-data2.column_d+data2.column_d DESC --column f
Hypo 2 :
SELECT * FROM (
SELECT
data2.entity_nr,
data2.column_b,
data2.column_c,
data2.column_d,
data2.column_e,
data2.column_b-data2.column_c-data2.column_d+data2.column_d AS column_f,
FROM
data2
)derived
ORDER by derived.column_f DESC
Vous opteriez pour quelle solution ?
Merci
Nico
