gpt4 book ai didi

mysql - 如何使用 Amazon Redshift 中另一个表的值更新列

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

我有 2 个表:

表“A”:

Old_eid    new_eid
<null> <null>
a <null>
b <null>
c <null>

表“B”:

eid1    eid2
a d
b e
c f

我想按如下方式更新表“A”:

Old_eid    new_eid
<null> <null>
a d
b e
c f

我提出了以下查询,但它给了我一个错误:

UPDATE A
SET new_eid = (SELECT eid2
FROM A a
JOIN B b ON a.old_eid = b.eid1)
WHERE old_eid IS NOT NULL

但它给了我以下错误:

UPDATE A
SET new_eid = (SELECT eid2
FROM A a
JOIN B b ON a.old_eid = b.eid1)
WHERE old_eid IS NOT NULL

[Amazon](500310) Invalid operation: Invalid Query:
Details:
-----------------------------------------------
error: Invalid Query:
code: 8001
context: single-row subquery returns more than one row
query: 967978
location: 8.cpp:78
process: padbmaster [pid=15160]
-----------------------------------------------;

Execution time: 0.35s
1 statement failed.

我能理解这个错误,因为它导致多行,但我不确定如何得到我想要的。

如何替换这些值?任何帮助将不胜感激。

最佳答案

我能够使用:

UPDATE A
SET new_eid = eid2
FROM B cm
WHERE cm.eid1= old_eid
and old_eidIS NOT NULL

关于mysql - 如何使用 Amazon Redshift 中另一个表的值更新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46288044/

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