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 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