假设我有一组关系,对于这些关系中的每一个,我都有特征。在函数中,我查询以获取所有关系以及附加到该关系的所有特征。每个特征都有某种语言的内容。如果我有3个特性,那么这些特性翻译的示例表是
Relation1 -> F1-EN, F2-EN, F3-EN
-> F1-DE, F2-DE, -
-> F1-SP, - , F3-SP
-> F1-FR, - , -
Relation2 ....
我想能够得到所有这些功能,根据我的主要语言,我发送,作为一个主要语言,我应该得到的de发送
f1 de、f2 de、f3 en(因为f3的de值为空)
-- get relation fields --,
GROUP_CONCAT(DISTINCT coalesce(ft2.name, ft1.name) SEPARATOR ',') AS features
FROM 'relations'
LEFT JOIN 'feature_translations' ft1 ON relations.feature_id =
ft1.feature_id
LEFT JOIN 'feature_translations' ft2 ON relations.feature_id =
ft2.feature_id AND ft2.language_id = 'FR'
GROUP BY relations.relation_id
这样,我只能得到(f1 fr),因为coalesce返回第一个非空值,但是我想要所有的特性f1 fr,f2 en,f3 en
1条答案
按热度按时间ddhy6vgd1#
编辑:
我试着用sqlfiddle('de'作为主语言)重现您的问题。
你可能需要两组人