从结果集中为表中的每个ID添加行

时间:2011-06-07 17:52:06

标签: sql sql-server database database-design

考虑结果集

SELECT UNIQUE order_id FROM order_details WHERE date=2011-01-01

(PK是order_id和item_id在一起。)

对于此结果集中的每个order_id,我想将一个礼物(具有item_id = 1000027)附加到该id - 这意味着我想在order_details表中为此result_set中的每个order_id添加一个额外的行(因为从那天开始的每个订单都有礼物)。我会为每个插入行'硬编码'1000027。

1 个答案:

答案 0 :(得分:1)

这样的事情应该可以解决问题。请注意我对你的专栏做了一些假设。我不知道表中还有哪些列,但我很确定order_id,item_id和date是必需的。

INSERT INTO order_details (order_id, item_id, date)
SELECT UNIQUE
  order_id,
  1000027,
  getDate()
FROM order_details 
WHERE date = '01/01/2011'
  AND item_id <> 1000027