gpt4 book ai didi

Mysql:连接翻译记录表

转载 作者:行者123 更新时间:2023-11-29 14:43:13 26 4
gpt4 key购买 nike

我有 2 个具有此配置的表:

table language('id', 'language_name', 'iso_code')
table translation('id', 'language_id', 'translated_text')

在第一个表中我有记录:

---------------------------------
| id | language_name | iso_code |
---------------------------------
| 1 | English | en |
| 2 | Espanõl | es |
| 3 | Français | fr |
---------------------------------

第二个表:

--------------------------------------
| id | language_id | translated_text |
--------------------------------------
| 1 | 1 | Good Morning |
| 2 | 1 | How are you? |
| 1 | 2 | Buenos dias |
| 2 | 3 | Comment ça va? |
--------------------------------------

所有英文文本字符串都存在,但其他一些语言不存在。

我想显示一个包含所有英文文本字符串和相应翻译的表格,例如:

----------------------------------------
| text_id | en | es |
----------------------------------------
| 1 | Good Morning | Buenos dias |
| 2 | How are you? | |
----------------------------------------

-------------------------------------------
| text_id | en | fr |
-------------------------------------------
| 1 | Good Morning | Comment ça va? |
| 2 | How are you? | |
-------------------------------------------

有什么想法吗?

最佳答案

只需继续对 ID 上的同一个表进行左连接,但需要额外的列来表示其语言...

已编辑,如果每个评论查询的相应列中没有值,则显示英文。

select 
eng.id,
eng.translated_text InEnglish,
coalesce( spn.translated_text, eng.translated_text ) InSpanish,
coalesce( frn.translated_text, eng.translated_text ) InFrench
from
translation eng
left join translation spn
on eng.id = spn.id
and spn.Language_ID = 2
left join translation frn
on eng.id = frn.id
and spn.Language_ID = 3
where
eng.Language_id = 1
order by
eng.id

关于Mysql:连接翻译记录表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7557817/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com