Sql server 在SQLServer中,我可以从一个表中选择多个值,并为返回的每个值在另一个表中插入行吗?

Sql server 在SQLServer中,我可以从一个表中选择多个值,并为返回的每个值在另一个表中插入行吗?,sql-server,select,insert,Sql Server,Select,Insert,基本上,我有两个独立的sql语句,我会动态生成它们,如果可能的话,我想把它们变成一个语句。目标是从一个表中选择多个键,然后为该查询中找到的每个键插入另一个表。这可能吗?如果是,我该怎么做 像这样的 选择键作为从键中找到的键,其中日期>=GETDATE()-1 Foreach(key\u found):插入消息(key,message)值(key\u found,“这是一条消息”) *请记住,我不想编写代码循环来执行此操作,除非我可以在SQL中执行此操作。我正在动态生成一个SQL语句,然后由DBA

基本上,我有两个独立的sql语句,我会动态生成它们,如果可能的话,我想把它们变成一个语句。目标是从一个表中选择多个键,然后为该查询中找到的每个键插入另一个表。这可能吗?如果是,我该怎么做

像这样的

  • 选择键作为从键中找到的键,其中日期>=GETDATE()-1

  • Foreach(key\u found):插入消息(key,message)值(key\u found,“这是一条消息”)


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

    您想要这样的东西吗

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

    是的,这应该能让我到达那里。非常感谢你!