使用SQL

时间:2016-11-29 12:24:03

标签: sql

我有下表:

Table1

我想要做的就是为每个PersonID添加两个新行,即

Table 2

这些只是实际表中的小片段,因为该表包含大量数据。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

使用INSERT INTO yourTable (ID, PersonID, JobID, Verified) SELECT NULL, PersonID, MAX(JobID) + 1, 0 FROM yourTable GROUP BY PersonID UNION ALL SELECT NULL, PersonID, MAX(JobID) + 2, 0 FROM yourTable GROUP BY PersonID

NULL

<强>解释

ID列插入ID应强制数据库分配下一个序列,假设JobID是自动增量列。如果不是,那么可以考虑改变它。对于每个新记录,n+1序列只是继续,因此我使用了n+2Verified。并且您似乎使用零作为{{1}}的默认值,因此这是硬编码的。

答案 1 :(得分:0)

感谢大家的回复/评论。

我设法通过使用CURSOR来解决我的问题(见下文)。它并不精彩,但它确实起到了作用。

enter image description here