J'essaye de recupérer un champs ou un autre sur une condition sur ce champs

Le champs vaut -1 => il doit prendre un autre champs dans la table
Le champs est un numérique >0 il prend un autre champs dans un autre table sur jointure

J'ai tenté avec IF ou CASE

voici mon case :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
SELECT p.id_cust, p.civ_cust, p.prenom_cust, p.nom_cust, p.mail_cust, p.teldir_cust, 
CASE p.fct_cust WHEN -1 THEN p.fct_nr ELSE f.caption_f END CASE, p.soc_cust, p.adr1_soc, p.adr2_soc, p.cp_cust, p.ville_cust, p.pays_cust, p.telsoc_cust, p.faxsoc_cust
FROM prospects AS p, fonction AS f
WHERE f.id_f = p.fct_cust