gpt4 book ai didi

sql - 如何通过 SQL 中的 LEFT JOIN 替换值?

转载 作者:行者123 更新时间:2023-12-02 18:59:48 25 4
gpt4 key购买 nike

我有一个包含一组翻译的表,我想查询插入了翻译的原始表(如果存在翻译)。例如:

CREATE TABLE foo (  id TEXT,  key TEXT);CREATE TABLE translations (  key TEXT,  value TEXT  );INSERT INTO foo(id, key) VALUES('1', '1');INSERT INTO foo(id, key) VALUES('2', '2');INSERT INTO foo(id, key) VALUES('3', '5');INSERT INTO foo(id, key) VALUES('4', '6');INSERT INTO translations(key, value) VALUES('5', '7');INSERT INTO translations(key, value) VALUES('6', '8');

我想要一个查询返回表:

1 12 23 74 8

SQLfiddle:http://sqlfiddle.com/#!7/ee8cc

谢谢!

最佳答案

像这样吗?

SELECT f.id, f.key, COALESCE(t.value, f.key) AS TranslatedKey
FROM foo f
LEFT JOIN translations t
ON f.key = t.key

使用左连接,如果未找到匹配项,则 t 中的值将为 null。 COALESCE 返回输入列表中的第一个非空值。

关于sql - 如何通过 SQL 中的 LEFT JOIN 替换值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20133647/

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