1

我有一个 SQL Server 数据库,我想在其中复制部分行,而行的另一部分需要用新数据填充并放入同一个表中。例如:

表名:预算

ItemID   Item   Date
1         A     4/22/2012
2         B     4/15/2012
3         C     4/24/2012

当我复制表时,我想将列复制到同一个表中item,而不是列。datedate列将获取今天的日期,但 Item 将复制行。如下所示。

表名:预算

ItemID   Item   Date
1         A     4/22/2012
2         B     4/15/2012
3         C     4/24/2012
4         A     5/6/2012
5         B     5/6/2012
6         C     5/6/2012

我试过了:

SELECT Item 
INTO Budget 
FROM Budget

但我得到错误

数据库中已经有一个名为“预算”的对象。

另外,我不确定在复制行后如何用新date数据填充列的其余部分。

谢谢你。

4

2 回答 2

1

您需要尝试插入。生成一个包含新行的查询,然后尝试以下操作:

Insert into <table>
    Select *
    From <q>
于 2012-05-07T02:40:49.327 回答
1

您正在尝试创建一个名为“Budget”的新表,该表已通过“SELECT INTO”语句存在。

您的 ItemID 是自动递增的吗?试试这个。

SELECT * into Budget FROM Budget_Temp

INSERT INTO Budget(Item,Date)
SELECT Item,'5/6/2012' FROM Budget_Temp

DROP TABLE Budget_Temp
于 2012-05-07T02:42:05.337 回答