如何在SQL Server中组合两个不同的选择?

时间:2014-09-22 09:10:16

标签: sql sql-server select stored-procedures insert

我希望使用SQL Server 2008作为较长过程的一部分插入到表中。插入的表有两列,itemID和tag。

标记部分从输入参数(xml)中选择,并按照预期的方式与下面的行一起使用。我的问题是需要同时从临时表(itemID)中选择@temp。我怎么能在这里实现这个目标?

我的SQL(仅相关部分):

INSERT  INTO RC_Items_Tags
(
        itemID,
        tag
)
SELECT 
        itemID,
        ParamValues.tag.value('.', 'varchar(255)')
FROM 
        @xmlTags.nodes('/tags/tag') AS ParamValues(tag)

1 个答案:

答案 0 :(得分:1)

只需执行CROSS JOIN

INSERT  INTO RC_Items_Tags
(
        itemID,
        tag
)
SELECT 
        t.itemID,
        ParamValues.tag.value('.', 'varchar(255)')
FROM 
        @xmlTags.nodes('/tags/tag') AS ParamValues(tag)
              CROSS JOIN
        @temp t