对于一个多语言项目,我需要用3个不同的表编写一个MySQL查询。
以下是查询:
SELECT i.i18n_id, i.name,
(select tx_translation from i18n_translation where id_locale= 'fr_be'
and id_translation=i.i18n_id) as 'fr_be',
(select tx_translation from i18n_translation where id_locale= 'nl_be' and id_translation=i.i18n_id) as 'nl_be',
(select tx_translation from i18n_translation where id_locale= 'en_gb' and id_translation=i.i18n_id) as 'en_gb'
FROM i18n i
left join i18n_translation itrans on itrans.id_translation=i.i18n_id
group by i18n_id
结果还可以,但我认为
subselects
这不是最好的方法。
此外,我有一个表,其中包含语言代码
i18n_language
“具有以下列(
id, code, name, active
). 如“1,fr\u be,Fran§ais,1”。
如果没有
子选择项
并添加在中找到的语言代码
i18n\u语言
自动地(因此,使用硬代码it)