从同一个表中的不同记录中插入列值

时间:2014-05-02 12:54:12

标签: sql-server

我有一个表,Table_A包含列Id_A1和Id_A2。我有另一个表,Table_B有列Id和Description_B。

现在,我有一些来自Table_B的描述,如(“desc 1”,“desc 3”),(“desc 1”,“desc 4”),(“desc 4”,“desc 2” “)等。我想在表_A的列Id_A1和Id_A2中插入与这些描述相对应的ID。

如何在每对的单个插入语句中执行此操作?

提前致谢!

1 个答案:

答案 0 :(得分:2)

我认为这个存储过程可以执行此操作,或者您可以复制出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_InsertPairs' desc 1',' desc 3'

请注意它是一个单独的sql语句,但如果没有多种选择,就无法做到这一点。

相关问题