这是我需要在 sql managment studio 2017 中解决的问题:
我有一个数据库,这些数据库的两个表是 Orden
和 Cliente
。
表cliente
有:
ClienteID-NumCedula-OrderID
表Orden
有:
OrderID-ProductoID-ClienteID
我的问题是我需要将订单表中的所有 OrderiD(300 条记录)填充到 Cliente 表中,该表(cliente)的 OrderID 中全部为 Null。 我需要将 Order.OrderID 中的所有记录填充到 Cliente.OrderID
我尝试了一些在互联网上找到的东西,但它不起作用。 有任何想法吗? 非常感谢你:)
我尝试了一些有关 UPDATE 和 INSERT INTO SELECT 的查询,但没有任何效果正常。我对所有 SQL 数据库都是新手,所以有时很困难。
INSERT INTO CLIENTE(OrderID)
SELECT OrderID FROM ORDEN;
UPDATE CLIENTE
SET OrderID = ORDEN.OrderID
WHERE CLIENTE.OrderID = ORDEN.OrderID;
关于如何在cliente.OrderID中填充/更新Orden.OrdenID的记录的查询或想法
最佳答案
就好像您正在寻找ON DUPLICATE KEY UPDATE
子句:
INSERT INTO
CLIENTE(OrderID)
SELECT o.OrderID FROM ORDEN o
ON DUPLICATE KEY UPDATE OrderID = o.OrderID, ColC = o.ColO;
如果 ORDEN.OrderID 列的值与 CLIENTE.OrderID 的值不匹配,则将值插入到 CLIENTE 表中,否则更新。
[其中 CLIENTE.OrderID 列是主键,并假设 ColC 和 ColO 是额外列来显示下面演示中所述的更新操作]
关于mysql - 如何将一个表中的列数据填充到另一个表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57136985/