gpt4 book ai didi

mysql - 以某种语言获取行的 SQL 查询(使用默认语言)

转载 作者:行者123 更新时间:2023-11-29 02:35:30 25 4
gpt4 key购买 nike

我有一张包含城市的表格:

  • 城市编号
  • 姓名
  • 语言代码

示例数据(city_id、名称、语言代码):

  • 1, LondonName, en
  • 1, LondonName, de
  • 1, LondonName123, jp
  • 2,巴塞罗那,en
  • 2, Barcelona123, de,
  • 3,马德里,en

我如何获取某种语言(即德)的所有城市,但如果没有该语言的城市翻译,我想获取该行的默认语言(即英语)的翻译。

所以,语言代码“de”的结果应该是这样的:

  • 1, LondonName, de
  • 2, Barcelona123, de
  • 3,马德里,en

数据库:MySQL

最佳答案

我通常更喜欢使用 JOIN 而不是内部选择,所以这是第二个选项:

SELECT c.city_id,
IF(c2.name IS NULL,c.name,c2.name) 'name',
IF(c2.languagecode IS NULL, c.languagecode, c2.languagecode) 'languagecode'
FROM cities c
LEFT JOIN cities c2 ON c.city_id = c2.city_id AND c2.languagecode = 'de'
WHERE c.languagecode = 'en'
GROUP BY c.city_id

关于mysql - 以某种语言获取行的 SQL 查询(使用默认语言),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5694637/

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