J'ai deux table avec cette structure
Category.id CategoryLocale.title CategoryLocale.lang 1 HomE PAGEa de 2 about en
3 Réponses :
SELECT Category.id, COALESCE(a.lang, b.lang) lang, COALESCE(a.title, b.title) title FROM categories AS Category LEFT JOIN category_i18ns AS a ON a.category_id = Category.id AND a.lang = 'de' LEFT JOIN category_i18ns AS b ON b.category_id = Category.id AND b.lang = 'en' SQLFiddle Demo
Si nous ne savons pas quelle langue a été ajoutée à la catégorie spéciale? Comment puis-je les récupérer. Par exemple, la catégorie ID 3 ajoute juste via fr code> langue et ne pas avoir une autre langue
Vous ne faites-vous pas une hypothèse ici que vous aurez une entrée pour EN code> dans toutes les catégories?
@sub_stantial Nope .. Il n'y a pas de langue par défaut majeure pour toutes les catégories.
@sweb: Oui je suis d'accord. Quoi qu'il en soit, ma question était pour Kuya John.
alors quels sont les gars de la requête: D
@sweb Votre question était NotClear c'est pourquoi je suppose que chaque catégorie a l'anglais. Essayons de le faire sortir. Question de suivi, Do La catégorie a au moins une langue?
Très utile, merci!
D'accord, ce n'est pas la meilleure solution, mais je pense que cela devrait fonctionner bien: exemple de violon SQL p> p>
Si vous avez un ordre de préférence, Gauche Joignez-vous à toutes les langues et mettez-les à des fonacences par ordre de préférence:
SELECT Category.id, COALESCE(a.lang, b.lang) lang, COALESCE(a.title, b.title) title FROM categories AS Category LEFT JOIN category_i18ns AS a ON a.category_id = Category.id AND a.lang = 'de' LEFT JOIN category_i18ns AS b ON b.category_id = Category.id GROUP BY Category.id
Si vous avez
EN code> et
fa code> pour la catégorie 2 mais je n'ai pas
de code> quelle langue vous devez choisir?
Pouvez-vous s'il vous plaît mentionner correctement la sortie que vous attendez?
@HamleThakobyan non important. d'abord que MySQL Server
Sortie du désir ajouté. S'il vous plaît vérifier et suggérer la requête. ty