我需要在数据库中创建父子表。我的子表已经存在很长时间了,因此它包含了很长的记录列表。我要做的是将孩子的名字复制到我的父母表中。
子表
--------------- ChildID | ChildNm --------------- 1 |A 2 |B 3 |C
Parent Table
---------------- ParentID|ParentNm|ChildNm ----------------
Query
WHILE (
SELECT Min(ChildID)
FROM ChildTable
) <
SELECT Max(ChildID)
FROM ChildTable
BEGIN
--INSERT every child NAME TO my parents TABLE
END
这是最好的方法吗?
最佳答案
我看不到循环的需要,我很少这样做。
尝试这样的事情:
insert parent(ChildNm)
select distinct ChildNm from child c
where not exists (select 1 from parent where c.childNm = childNm)
select * from parent
我不确定您要作为父母的名字
*我假设您的父表看起来像这样:
create table parent(ParentID int identity(1,1), ParentNm char(1), ChildNm char(1))