gpt4 book ai didi

MySQL 如何从两个表中选择数据,以便第二个表中的行覆盖第一个表中的行?

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

第一个表:

day | title
1 | "Lorem"
2 | "Ipsum"

第二张表:

day | title
2 | "Amor"
3 | "Zeus"

现在我需要这样一个结果:

day | title
1 | "Lorem"
2 | "Amor"
3 | "Zeus"

如何通过单个查询做到这一点?

编辑:

“Zeus”添加到第二个表。

最佳答案

http://sqlfiddle.com/#!2/0dc08/1

SELECT t1.Day, COALESCE(t2.Word, t1.Word) AS Word
FROM Table1 t1
LEFT JOIN Table2 t2 ON t2.Day = t1.Day
UNION ALL
SELECT t2.Day, t2.Word
FROM Table2 t2
LEFT JOIN Table1 t1 ON t1.Day = t2.Day
WHERE t1.Day IS NULL

当在两个表中都找到一天时,上面的代码更喜欢 t2 而不是 t1。底部的 UNION ALL 获取所有仅在 t2 中的记录。如果这种情况不会发生,则删除 UNION ALL 语句和下面的语句。

关于MySQL 如何从两个表中选择数据,以便第二个表中的行覆盖第一个表中的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18851084/

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