Sql server 在同一表中插入来自不同记录的列值

Sql server 在同一表中插入来自不同记录的列值,sql-server,Sql Server,我有一个表,表a有Id列A1和Id列A2。我还有另一个表,表B带有列Id和描述 现在,我有一些表_B中的描述对,比如(“desc 1”、“desc 3”)、(“desc 1”、“desc 4”)、(“desc 4”、“desc 2”)等等,我想在表_A的Id_A1和Id_A2列中插入与这些描述对应的Id 如何在每对单insert语句中执行此操作 提前谢谢 我认为这个存储过程可以做到这一点,或者您可以复制SQL并用匹配的参数替换这些参数,如果您愿意的话 CREATE PROCEDURE dbo.u

我有一个表,表a有Id列A1和Id列A2。我还有另一个表,表B带有列Id和描述

现在,我有一些表_B中的描述对,比如(“desc 1”、“desc 3”)、(“desc 1”、“desc 4”)、(“desc 4”、“desc 2”)等等,我想在表_A的Id_A1和Id_A2列中插入与这些描述对应的Id

如何在每对单insert语句中执行此操作


提前谢谢

我认为这个存储过程可以做到这一点,或者您可以复制SQL并用匹配的参数替换这些参数,如果您愿意的话

CREATE PROCEDURE dbo.usp_InsertPairs @Desc1 varchar(255), @Desc2 varchar(5)
AS
BEGIN
    Insert Into Table_A(Id_A1, Id_A2)
    SELECT
            (SELECT id from Table_B where Description_b=@Desc1) as IDA1,
            (SELECT id from Table_B where Description_b=@Desc2) as IDA2
END
然后将其称为exec dbo.ups\u InsertPairs'desc 1','desc 3'


请注意,这是一条sql语句,但如果没有以这种或那种方式进行多次选择,则无法执行此操作。

能否为这两个表显示一些示例数据?表a没有数据。它必须被插入。上面解释了这两个表的模式。对于表B,您可以假设它包含以下描述-“描述1”、“描述2”、“描述3”、“描述4”和“描述5”等。我仍然不清楚表B中的内容。您有两列;Id和Description_B.您提到的desc是成对出现在Description_B列中还是Id列中1和Description_B列中1?表_B的记录为->[1,“desc 1”]、[2,“desc 2”]、[3,“desc 3”]、[4,“desc 4”]和[5,“desc 5”]。现在清楚了吗?所以表B中的每个记录都是例如:Id=1,Description\u B=“desc 1”?那么您的“表B中的描述对,如(“描述1”、“描述3”)、(“描述1”、“描述4”)…”是如何显示的?对不起,我不明白。