将动态和静态数据插入 Temp Table

Insert Dynamic & Static Data into Temp Table

我是使用 "Insert" 函数的新手,并且对 SQL 的了解足够危险。

我正在尝试通过结合使用动态和静态数据来生成我自己的重复行数据。我正在使用 SQL Server 2012。

下面的需求示例。

Create table #Temp
(Item nchar(32),
Company nchar(32))
;

Insert Into #Temp (Item, Company)
VALUES
(X, 'Company1'),
(X, 'Company2')
;

我们假设今天 "Table" 只有两个商品编号,100 和 200。所以我的最终结果是将 Company 的每个实例添加到每个商品编号,如下所示:

Item |Company
----------
100 | Company1
100 | Company2
200 | Company1
200 | Company2

提前致谢!

您可以像这样使用 CROSS JOIN:

;WITH items AS (
SELECT 100 Item
UNION ALL
SELECT 200
), companies AS (
SELECT 'Company1' as Company
UNION ALL
SELECT 'Company2'
)

--Insert Into #Temp (Item, Company)
SELECT  i.Item,
        c.Company
FROM items i
CROSS JOIN companies c

输出:

Item    Company
100     Company1
100     Company2
200     Company1
200     Company2