gpt4 book ai didi

mysql - 从表 1 中选择所有数据,如果表 2 MySQL 中存在,则用 id 替换表 2 中的值

转载 作者:行者123 更新时间:2023-11-29 07:17:12 25 4
gpt4 key购买 nike

我必须计算 t1 和 t2:

t1:                 t2:
|ID | Value | |ID | Value |
|---|-------| |---|-------|
| 1 | AAA | | 1 | AAA |
| 2 | BBB | | 2 | KKK |
| 3 | CCC | | 3 | ZZZ |
| 4 | DDD | | 9 | QQQ |
| 5 | EEE | |---|-------|
|---|-------|

As a relust i need to get T3 that looks like this:

|ID | Value |
|---|-------|
| 1 | AAA |
| 2 | KKK |
| 3 | ZZZ |
| 4 | DDD |
| 5 | EEE |
|---|-------|

我是 sql 的新手,我能得到的最好的是:

SELECT
new_TT.ID,
(SELECT value FROM SCV WHERE ID=new_TT.id) AS value

FROM
T new_TT

但它只返回 t1 中的现有值。

另一种解决方案满足我的需要,但它只适用于小数据,而且我需要大量数据。

解决方案有两部分:

  1. 创建新表 t3 并复制 t1 中的所有数据

  2. 替换 t3 中 t3.id = t2.id 的行

最佳答案

您可以使用 coalesce() left join

函数
create table t3 as
select t1.ID, coalesce(t2.value,t1.value) as value
from t1
left join t2 on t1.ID=t2.ID

Demo

关于mysql - 从表 1 中选择所有数据,如果表 2 MySQL 中存在,则用 id 替换表 2 中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58571498/

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