Configuration :
- Dolibarr 6.0.5
- MySQL Connector/ODBC 5.2.7 (32 bits)
- Microsoft Excel 2013 (15.0.5031.1000) 32 bits
- Microsoft Query (15.0.4869.1000) 32 bits

Bonjour,

Dans ma requête SQL ci-dessous, je n'arrive pas à insérer une fonction 'CASE', pourriez-vous m'aider, s'il vous plaît.

Merci.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
SELECT
         llx_product_0.ref                                                                               AS 'REF ALS'
       , llx_product_0.label                                                                             AS 'DESIGNATION ALS'
       , llx_societe_0.nom                                                                               AS 'NOM FOURNISSEUR'
       , llx_product_fournisseur_price_0.ref_fourn                                                       AS 'REF FOURNISSEUR'
       , llx_product_0.stock                                                                             AS 'STOCK REEL'
       , llx_product_0.seuil_stock_alerte                                                                AS 'STOCK SECU'
       , llx_product_0.desiredstock                                                                      AS 'STOCK DESIRE'
       , (llx_product_fournisseur_price_0.unitprice/llx_multicurrency_rate_0.rate)                       AS 'PRIX UNITAIRE'
       , REPLACE(llx_commande_fournisseur_dispatch_0.comment,"Réception de la commande fournisseur ","") AS 'NUMERO CMD'
       , llx_commande_fournisseur_dispatch_0.qty                                                         AS 'QUANTITE CMD'
       , llx_commande_fournisseur_0.fk_statut                                                            AS 'STATUT CMD'
FROM
         ZenERP.llx_commande_fournisseur          llx_commande_fournisseur_0
       , ZenERP.llx_commande_fournisseur_dispatch llx_commande_fournisseur_dispatch_0
       , ZenERP.llx_multicurrency_rate            llx_multicurrency_rate_0
       , ZenERP.llx_product                       llx_product_0
       , ZenERP.llx_product_fournisseur_price     llx_product_fournisseur_price_0
       , ZenERP.llx_societe                       llx_societe_0
WHERE
         llx_product_0.rowid                                = llx_product_fournisseur_price_0.fk_product
         AND llx_societe_0.rowid                            = llx_product_fournisseur_price_0.fk_soc
         AND llx_multicurrency_rate_0.fk_multicurrency      = llx_societe_0.fk_multicurrency
         AND llx_commande_fournisseur_dispatch_0.fk_product = llx_product_0.rowid
         AND llx_commande_fournisseur_0.rowid               = llx_commande_fournisseur_dispatch_0.rowid
ORDER BY
         (llx_product_fournisseur_price_0.unitprice/llx_multicurrency_rate_0.rate) DESC
Voici le code 'CASE' que j'aimerais insérer dans ma requête ci-dessus.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
CASE llx_commande_fournisseur_0.fk_statut
WHEN '0' THEN 'BROUILLON'
WHEN '1' THEN 'VALIDE'
WHEN '2' THEN 'APPROUVE'
WHEN '3' THEN 'ENVOYE AU FOURNISSEUR'
WHEN '4' THEN 'RECU EN PARTIE'
WHEN '5' THEN 'RECU COMPLETEMENT OU FERME'
WHEN '9' THEN 'REFUSE'
ELSE 'INCONNU'
END AS 'STATUT'