gpt4 book ai didi

MySQL - 根据连接表列值更新列值

转载 作者:行者123 更新时间:2023-11-29 02:16:50 26 4
gpt4 key购买 nike

我一直在阅读 SO 和其他网站,并遵循了一些示例;但是,我的 SQL 语句仍然没有按要求执行。

我有两张 table


          parts
============================
pmkParts fnkManufacturer
----------------------------
0 Penn-Union
1 Schneider
2 Telemecanique

         manufacturer   
===============================
Manufacturer pmkManufacturer
-------------------------------
Penn-Union 45
Schneider 56
Telemecanique 12

我想把零件表改成

          parts
============================
pmkParts fnkManufacturer
----------------------------
0 45
1 56
2 12

这是我试过的 SQL 语句。

Update parts
SET parts.fnkManufacturer = (
SELECT manufacturer.pmkManufacturer
FROM manufacturer
WHERE manufacturer.pmkManufacturer = parts.fnkManufacturer
)

那是在更改正确的列,但它用“NULLS”而不是外键(制造商)填充它。我认为应该在某处加入一个连接,但我不确定在哪里。

有什么建议吗?

------------

编辑:答案:

这是有效的 SQL 语句。感谢 MarcB 的帮助。

Update parts
SET parts.fnkManufacturer = (
SELECT manufacturer.pmkManufacturer
FROM manufacturer
WHERE manufacturer.Manufacturer= parts.fnkManufacturer
)

最佳答案

尝试使用更新连接查询更改您的查询,如下所示。同样,您加入了错误的列,实际上您应该加入 manufacturer.Manufacturer 列。

Update parts p
JOIN manufacturer m ON m.Manufacturer = p.fnkManufacturer
SET p.fnkManufacturer = m.pmkManufacturer;

关于MySQL - 根据连接表列值更新列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38273515/

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