Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gilles
J'aurais fais du style SELECT *, CASE WHEN produit_prix > 0 THEN 1 ELSE 2 END AS tri FROM table_produit WHERE (produit_actif = 1) AND (ref_catalogue_produit = 123) AND (produit_prix >= 0)
"[Bruno]" a écrit dans le message de news: 4267b29c$0$1218$
Bonjour à tous,
Dans le cadre d'un requête dans catalogue produit je fais quelque chose comme ça :
SELECT *, 1 AS tri FROM table_produit WHERE (produit_actif = 1) AND (ref_catalogue_produit = 123) AND (produit_prix > 0)
UNION ALL
SELECT *, 2 AS tri FROM table_produit WHERE (produit_actif = 1) AND (ref_catalogue_produit = 123) AND (produit_prix = 0)
ORDER BY tri
Est il possible de déclarer ma variable "tri" dynamiquement dans une seul requête ?
Ex : Si produit_prix = 0, alors tri =2, sinon tri = 1
J'aurais fais du style
SELECT *, CASE WHEN produit_prix > 0 THEN 1 ELSE 2 END AS tri
FROM table_produit
WHERE (produit_actif = 1) AND (ref_catalogue_produit = 123) AND
(produit_prix >= 0)
"[Bruno]" <bruno.newsgroup@wanadoo.fr> a écrit dans le message de news:
4267b29c$0$1218$8fcfb975@news.wanadoo.fr...
Bonjour à tous,
Dans le cadre d'un requête dans catalogue produit je fais quelque chose
comme ça :
SELECT *, 1 AS tri
FROM table_produit
WHERE (produit_actif = 1) AND (ref_catalogue_produit = 123) AND
(produit_prix > 0)
UNION ALL
SELECT *, 2 AS tri
FROM table_produit
WHERE (produit_actif = 1) AND (ref_catalogue_produit = 123) AND
(produit_prix = 0)
ORDER BY tri
Est il possible de déclarer ma variable "tri" dynamiquement dans une seul
requête ?
Ex : Si produit_prix = 0, alors tri =2, sinon tri = 1
J'aurais fais du style SELECT *, CASE WHEN produit_prix > 0 THEN 1 ELSE 2 END AS tri FROM table_produit WHERE (produit_actif = 1) AND (ref_catalogue_produit = 123) AND (produit_prix >= 0)
"[Bruno]" a écrit dans le message de news: 4267b29c$0$1218$
Bonjour à tous,
Dans le cadre d'un requête dans catalogue produit je fais quelque chose comme ça :
SELECT *, 1 AS tri FROM table_produit WHERE (produit_actif = 1) AND (ref_catalogue_produit = 123) AND (produit_prix > 0)
UNION ALL
SELECT *, 2 AS tri FROM table_produit WHERE (produit_actif = 1) AND (ref_catalogue_produit = 123) AND (produit_prix = 0)
ORDER BY tri
Est il possible de déclarer ma variable "tri" dynamiquement dans une seul requête ?
Ex : Si produit_prix = 0, alors tri =2, sinon tri = 1
Synopsis
Oui, en utilisant la fonction case
SELECT Tri case when produit_prix > 0 then 1 else 2 end , * FROM table_produit WHERE (produit_actif = 1) AND (ref_catalogue_produit = 123) AND ORDER BY 1
"[Bruno]" a écrit dans le message de news: 4267b29c$0$1218$
Bonjour à tous,
Dans le cadre d'un requête dans catalogue produit je fais quelque chose comme ça :
SELECT *, 1 AS tri FROM table_produit WHERE (produit_actif = 1) AND (ref_catalogue_produit = 123) AND (produit_prix > 0)
UNION ALL
SELECT *, 2 AS tri FROM table_produit WHERE (produit_actif = 1) AND (ref_catalogue_produit = 123) AND (produit_prix = 0)
ORDER BY tri
Est il possible de déclarer ma variable "tri" dynamiquement dans une seul requête ?
Ex : Si produit_prix = 0, alors tri =2, sinon tri = 1
Oui, en utilisant la fonction case
SELECT
Tri case
when produit_prix > 0 then 1
else 2
end
, *
FROM table_produit
WHERE (produit_actif = 1) AND (ref_catalogue_produit = 123) AND
ORDER BY 1
"[Bruno]" <bruno.newsgroup@wanadoo.fr> a écrit dans le message de news:
4267b29c$0$1218$8fcfb975@news.wanadoo.fr...
Bonjour à tous,
Dans le cadre d'un requête dans catalogue produit je fais quelque chose
comme ça :
SELECT *, 1 AS tri
FROM table_produit
WHERE (produit_actif = 1) AND (ref_catalogue_produit = 123) AND
(produit_prix > 0)
UNION ALL
SELECT *, 2 AS tri
FROM table_produit
WHERE (produit_actif = 1) AND (ref_catalogue_produit = 123) AND
(produit_prix = 0)
ORDER BY tri
Est il possible de déclarer ma variable "tri" dynamiquement dans une seul
requête ?
Ex : Si produit_prix = 0, alors tri =2, sinon tri = 1
SELECT Tri case when produit_prix > 0 then 1 else 2 end , * FROM table_produit WHERE (produit_actif = 1) AND (ref_catalogue_produit = 123) AND ORDER BY 1
"[Bruno]" a écrit dans le message de news: 4267b29c$0$1218$
Bonjour à tous,
Dans le cadre d'un requête dans catalogue produit je fais quelque chose comme ça :
SELECT *, 1 AS tri FROM table_produit WHERE (produit_actif = 1) AND (ref_catalogue_produit = 123) AND (produit_prix > 0)
UNION ALL
SELECT *, 2 AS tri FROM table_produit WHERE (produit_actif = 1) AND (ref_catalogue_produit = 123) AND (produit_prix = 0)
ORDER BY tri
Est il possible de déclarer ma variable "tri" dynamiquement dans une seul requête ?
Ex : Si produit_prix = 0, alors tri =2, sinon tri = 1