gpt4 book ai didi

php - MySQL多语言选择语言行的主语言行为空

转载 作者:搜寻专家 更新时间:2023-10-30 23:40:29 26 4
gpt4 key购买 nike

主表:

id | main1

表 MAIN_LNG:

id | id_main | lng | desc

查询:

SELECT MAIN.*, MAIN_LNG.desc
FROM MAIN
JOIN MAIN_LNG
ON MAIN.id = MAIN_LNG.id_main
AND MAIN_LNG.lng = IFNULL('de', 'en')

现在我想选择带有德语描述的 de 行 (MAIN_LNG.desc),但如果此描述为 NULL 则自动选择作为主要语言的 en

如何使用纯 SQL 来实现?

最佳答案

COALESCE()函数返回其参数中的第一个非 NULL 值。我们所要做的就是在这里给“de”一个优先权。

SELECT MAIN.*, COALESCE(de.desc, en.desc) AS desc
FROM MAIN
LEFT JOIN MAIN_LNG AS de ON MAIN.id = MAIN_LNG.id_main
AND MAIN_LNG.lng = 'de'
LEFT JOIN MAIN_LNG AS en ON MAIN.id = MAIN_LNG.id_main
AND MAIN_LNG.lng = 'en'

(自己没测试过。)

关于php - MySQL多语言选择语言行的主语言行为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35497293/

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