在SQLServer中,我可以从一个表中选择多个值,并且对于返回的每个值,将行插入另一个表中吗?

时间:2013-10-22 17:51:09

标签: sql-server select insert

基本上,我有两个单独的sql语句,我动态生成,我想尽可能将它们组成一个语句。目标是从一个表中选择多个键,然后对于在该查询中找到的每个键,插入到另一个表中。这可能吗?如果是这样,我该怎么做?

像这样......

  1. 从键中选择键作为key_found,其中日期> = GETDATE() - 1

  2. Foreach(key_found):插入消息(密钥,消息)值(key_found,“这是消息”)

  3. *请记住我不想编写代码循环来执行此操作,除非我可以在SQL中执行此操作。我正在生成一个SQL语句,然后由DBA运行。*

1 个答案:

答案 0 :(得分:2)

你想要这样的东西吗?

INSERT INTO message (key, message)
SELECT
    key as key_found 
    , 'This is a message' as message
FROM keys 
WHERE [date] >= DATEADD(day, -1, getdate())