这是我需要在sql managment studio 2017中解决的问题:
我有一个数据库,这些数据库的两个表是Orden
和Cliente
。
表cliente
具有:
ClienteID-NumCedula-OrderID
表
Orden
具有:OrderID-ProductoID-ClienteID
我的问题是我需要填充Cliente表中Order表中的所有OrderiD(300条记录),该表(cliente)在OrderID中具有所有Null。
我需要在Cliente.OrderID中填写Order.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是额外的列,以显示更新操作,这在下面的演示中进行了介绍]
Demo
关于mysql - 如何将数据从一个表填充到另一个表?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57136985/