这是我需要在sql managment studio 2017中解决的问题:
我有一个数据库,这些数据库的两个表是OrdenCliente

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/

10-09 01:28