par
moogli » 20 juil. 2016, 14:00
salut,
avec ta requête le plus simple c'est d'utiliser la clause IN
SELECT * FROM produit WHERE IDProduit = 1 AND IDLangue in('EN','le choix utilisateur')
du coup tu auras au moins une ligne si tu sais que la description est toujours au moins en anglais.
Il existe d'autre façon de faire cela :
- Une fonction SQL (UDF) qui recherche la traduction pour la langue passée en paramètre (ainsi que l'id produit) et si elle n'existe pas retourne la version anglaise.
- Dans la requête de sélection des produits plutôt que de faire une jointure sur la table des descriptsion tu ajoutes deux subselect dans la liste des colonnes pour récupérer la description dans la langue utilisateur et en anglais (comme ça à l'affichage si description vide on prendre defaultDescription).
a mon avis la meilleur solution c'est l'UDF.
@+