gpt4 book ai didi

mysql - 如果一个表中不存在,则 SQL 从另一个表中选择/插入一行

转载 作者:太空宇宙 更新时间:2023-11-03 11:28:52 45 4
gpt4 key购买 nike

我有一张表可能缺少 ID,所以我需要查看另一张表。在缺少 ID 的地方,我需要根据当前表插入一行,但将 qty 字段设置为 0。不确定这是否可能...

表A:

ID--F1--QTY
1 --xx--5
2 --xx--6
3 --xx--7

表 B:

ID
4

新表:

ID--F1--QTY
1 --xx--5
2 --xx--6
3 --xx--7
4 --xx--0

最佳答案

您可以使用联接或 NOT IN 来执行此操作,

使用联接

join tableB to tableA 并选择所有不存在的Id然后将其插入tableA

INSERT INTO TableA(ID, QTY)
SELECT X.ID, 0 QTY FROM TableB X
LEFT OUTER JOIN TableA Y ON X.ID = Y.ID
WHERE Y.ID IS NULL

如果你想用两个表中的数据创建一个新表,那么使用下面的 SQL

INSERT INTO NewTable(ID, QTY)
SELECT X.ID, 0 QTY FROM TableB X
LEFT OUTER JOIN TableA Y ON X.ID = Y.ID
WHERE Y.ID IS NULL
UNION ALL
SELECT ID, QTY FROM TableA

使用NOT IN

INSERT INTO TableA(ID, QTY)
SELECT X.ID, 0 QTY FROM TableB X
WHERE X.ID NOT IN (SELECT ID FROM TableA WHERE ID IS NOT NULL)

关于mysql - 如果一个表中不存在,则 SQL 从另一个表中选择/插入一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51679210/

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