更新来自另一个表的列表,并在共同列上有条件

问题描述:

我是Mysql的新手。我有一个最多有三个孩子的父表,我想只更新另一个具有条件的子表中的第一个孩子。更新来自另一个表的列表,并在共同列上有条件

TblChild

id_child - parent_id - child_name - child_number 

TblParent

Id_paretn - parent_name - child_name_1 - child_id_1 - child_name_2 - child_id_2 - child_name_3 - child_id_3 

查询

UPDATE TblParent 
SET TblParent.child_name_1 = TblChild.child_name, 
    TblParent.child_id_1 = TblChild.child_id 
FROM TblChild, TblParent 
WHERE TblParent.id_parent = TblChild.parent_id 
    AND TblChild.child_number = '1'; 

谢谢您的时间。

在MySQL中,你可以使用一个更新加入

UPDATE TblParent 
INNER JOIN TblChild ON (TblParent.id_parent = TblChild.parent_id 
          AND TblChild.child_number = '1') 
SET 
TblParent.child_name_1 = TblChild.child_name, 
TblParent.child_id_1 = TblChild.child_id 
+0

非常感谢你,它的工作原理。 – Raychu150

+0

@EduardoSalomonRaydan好,如果我的答案是正确的,请将其标记为已接受...看到这里如何 http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – scaisEdge