我有一个基本设置的表PRODUCT
,因此有一个PRODUCTID
,PRODUCTNAME
......看起来有点像这样
PRODUCTID PRODUCTNAME
100 PNAME1
101 PNAME2
102 PNAME3
现在我必须为PRODUCTMAPPING
中的每一行向新表PRODUCT
插入一条记录。
所以我的新表PRODUCTMAPPING
看起来应该是这样的
PRODUCTMAPPINGID PRODUCTID
1 100
1 101
1 102
2 100
2 101
2 102
3 100
依旧......
我尝试while
,但我需要使用Join
。
我们可以使用连接来实现这个吗?
提前致谢。
答案 0 :(得分:1)
单向;
select
row_number() over(partition by a.PRODUCTID order by a.PRODUCTID) PRODUCTMAPPINGID,
a.PRODUCTID
from PRODUCT a, PRODUCT b
答案 1 :(得分:0)
以下示例指定查询中的JOIN操作由LOOP连接执行。
Select sp.Name,spqh.quota
FROM Sales.SalesPersonQuotaHistory AS spqh
INNER LOOP JOIN Sales.SalesPerson AS sp
ON spqh.SalesPersonID = sp.SalesPersonID
WHERE sp.SalesYTD > 2500000.00;
GO
请参阅此MSDN链接
答案 2 :(得分:0)
INSERT
INTO dbo.PRODUCTMAPPING
(
PRODUCTMAPPINGID
,PRODUCTID
)
SELECT pmv.PRODUCTMAPPINGID
,p.PRODUCTID
FROM dbo.Product p
CROSS JOIN
(
SELECT pm.ProductMappingID
FROM dbo.ProductMappingValues pmv -- WHERE DO THESE COME FROM?
) pmv