【发布时间】:2017-09-14 17:52:28
【问题描述】:
将不同语言的文本记录在具有以下结构的表 (tbl_i18n) 中:
text_FK | language_FK | value
-----------------------------
1 | 1 | hello
1 | 2 | hallo
2 | 1 | world
3 | 1 | test
通过简单的连接给出特定语言 (id = 2) 的文本,例如:
SELECT [value] FROM tbl_i18n i
JOIN tbl_products p ON p.text_id = i.text_FK
JOIN tbl_languages l ON l.id = i.language_FK AND i.language FK = 2;
结果是:
value
-------
hallo
前面提到的 select 语句怎么会改变,所以我们可以获得默认语言,当文本字段的翻译不存在时,它们的后备文本将显示出来,结果将变为:
value
-------
hallo
world
test
【问题讨论】:
-
您能否修改问题以便更好地理解?
-
也检查这个问题,看看它是否有帮助stackoverflow.com/questions/3238651/…
-
@lostmylogin,这里我们有 3 个文本字段和 4 个记录。 3个英语和1个德语。你好字段有德语翻译,但其他人没有。我想获得德语的所有字段,但是当没有德语翻译时,应该返回英语字段。 Tanx 链接;看起来很有希望。
标签: sql sql-server internationalization