【发布时间】:2016-07-20 15:23:15
【问题描述】:
我的表结构如下所示:
如您所见,它是一个多语言字典,每种语言的所有值都存储在同一张表中,重复“键”值。
我想要的是一个 SQL 语句来获取具有唯一“键”的所有行,包括每种语言的“值”列。
我到目前为止所尝试的,它只适用于两种语言,仅此而已:
select a.*, b.value
from `translator_messages` a
JOIN `translator_messages` b
on a.key = b.key and
a.lang !=b.lang
group by a.key
结果:
注意:最好有一个通用的 SQL 解决方案,而不是依赖于 MySQL 的特定功能。
【问题讨论】:
-
请提供样本结果。
-
这看起来像您当前查询可能生成的结果,而不是根据样本数据您想要的输出。
-
如您所见,结果仅包含两种语言的“值”列。根据样本数据,缺少“de-GE”语言的值列。可能包括更多语言。
-
只是不清楚您使用什么逻辑来获得这些结果。你想让它任意选择一个语言记录,以及任意两个
value的?