mysql se joindre à la condition
J'ai deux table avec cette structure
categories
--------------------------------
id | create
1 | 2012-12-01 12:00:00
2 | 2012-12-01 12:00:00
category_i18ns
--------------------------------
category_id | lang | title
1 | en | home page
1 | de | HomE PAGEa
1 | fa | خانه
2 | en | about
certaines catégories ont toutes les langues de données et les autres d'une autre havnt. par exemple, l'id de catégorie 2 seulement ont en
titre traduit. je veux avoir une requête qui vérifiez d'abord dans le langage courant pour récupérer le titre et puis s'il n'existe pas de montrer ensuite un autre.
j'ai une requête pour obtenir catégorie actuelle de données avec des données i18n
dans cet exemple de
est la langue par défaut. pour l'id de la catégorie de 1
nous avons de
titre, mais pour la catégorie 2
nous n'avons pas. donc, je veux la version anglaise que le titre de la catégorie
SELECT * FROM `mhf_swe_ndzhmju3_test`.`categories` AS `Category`
LEFT JOIN `mhf_swe_ndzhmju3_test`.`category_i18ns` AS `CategoryLocale` ON (
`CategoryLocale`.`category_id` = `Category`.`id`
AND `CategoryLocale`.`lang` = 'de')
désir hors mis pour 'de' langue
Category.id CategoryLocale.title CategoryLocale.lang
1 HomE PAGEa de
2 about en
Si vous avez
Pouvez-vous s'il vous plaît mentionner correctement la sortie que vous attendez ?
pas important. d'abord que mysql serverd
le désir de sortie ajouté. merci de vérifier et de suggérer la requête. ty
en
et fa
pour la catégorie 2, mais qui n'ont pas de
la langue dans laquelle vous devez choisir?Pouvez-vous s'il vous plaît mentionner correctement la sortie que vous attendez ?
pas important. d'abord que mysql serverd
le désir de sortie ajouté. merci de vérifier et de suggérer la requête. ty
OriginalL'auteur sweb | 2012-12-11
Vous devez vous connecter pour publier un commentaire.
fr
langue et n'ont pas de n'importe quelle autre langueNe faites-vous pas une hypothèse ici que vous avez une entrée pour
en
dans toutes les catégories ?nan .. il n'y a pas de grande langue par défaut pour toutes les catégories.
Oui je suis d'accord. De toute façon, ma question était pour Kuya Jean.
essayez sur sqlfiddle.com/#!2/2beaf ... il n'est pas du travail.
OriginalL'auteur John Woo
Si vous avez un ordre de préférence,
left join toutes les langues et de les mettre à se fondre dans l'ordre de préférence:
Si vous voulez obtenir un texte à partir d'un hasard de la langue, l'utilisation de cette requête:
http://sqlfiddle.com/#!2/2beaf/5
OriginalL'auteur Naktibalda
D'accord, ce n'est pas la meilleure solution, mais je pense devrait fonctionner correctement :
SQL Violon Exemple
OriginalL'auteur Subodh