gpt4 book ai didi

MySql - 有条件执行 JOIN

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

我有2个表:videos 和videos_lang。当我想要获取有关所选语言的视频的信息时,我使用 LEFT JOIN 连接这些表。问题是:如果所选语言的翻译不存在,我想加入默认语言的翻译(始终存在)。我怎样才能做到这一点?我使用该 sql 查询:

SELECT vl.\*, v.* 
FROM videos v
LEFT JOIN videos_lang vl
ON vl.sig = 'de' AND v.idVideo = vl.idVideo

如何在 vl.sig = 'en' 处获取翻译(en 是默认语言)?

最佳答案

尝试这个查询 -

SELECT
IFNULL(vl.idVideo, vl_en.idVideo),
v.*
FROM videos v
LEFT JOIN (SELECT * FROM videos_lang WHERE sig = 'de') vl
ON v.idVideo = vl.idVideo
LEFT JOIN (SELECT * FROM videos_lang WHERE sig = 'en') vl_en
ON v.idVideo = vl_en.idVideo

关于MySql - 有条件执行 JOIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16249402/

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