【问题标题】:copy same records with Different ParentID from Existing ParentID从现有 ParentID 复制具有不同 ParentID 的相同记录
【发布时间】:2015-08-03 17:30:06
【问题描述】:

我想从同一个表中复制记录。如果 parentID 为空,那么我想复制其中的 Parent 和 Child 以及另一个 parentName(我将使用 replace 关键字)。
如果它不为空,那么我想将其复制到同一个父级中,如果该父级中不存在相同的父级。

create table #Table(ID int primary key , Name varchar(10),ParentID int )

insert into #Table
select 1,'Suresh', -1
union
select 2,'Naresh', 1
union
select 3,'John', 1
union
select 4,'Kumar',3
union 
Select 5,'Dale John',3

select * from #Table

ID  Name    ParentID
-------------------
1   Suresh     -1
2   Naresh      1
3   John        1
4   Kumar       3
5   Dale John   3
  1. 如果我选择ID = 1,那么如果Name not "Suresh"ParentID not -1.,所有ID 子级都应该插入到同一个表中
  2. 如果我选择ID = 3,那么ID 3 并且如果Name and ParentID not John & 1 Child 应该插入到同一个表中

【问题讨论】:

  • Reddy 如何展示一些解决您的问题的努力或更改样本数据和预期输出
  • INSERT INTO tblName select * from tblName where ParentId = @ParentId
  • copy 是什么意思?
  • @ FutbolFan,在我的表中,父子关系存在。我想将数据复制(插入同一个表)到同一个表中。这个过程就像,如果不存在相同的父名,我可以将父级和所有子级复制到同一个表中并重命名。我可以将孩子复制到具有不同名称的同一个父级名称中,并且名称不应仅存在于该父级中。
  • 实际上表格应该是插入语句,没有什么可以阻止您在问题中添加文本。另一个简单的解决方案是转到sqlfiddle.com。您可以在那里创建表格和示例数据。

标签: sql-server sql-server-2008


【解决方案1】:

将它们放入 Temp 表并在它们之间进行连接。 如果不存在(---) 然后插入到表中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-11
    • 2013-04-23
    相关资源
    最近更新 更多