我有json数据,其中包含productDetails列表。我需要将每个细节与productId结合起来。
我正在使用存储过程。这是我的代码:
DECLARE @products AS TABLE(productName NVARCHAR(255),
productId INT NOT NULL);
INSERT INTO @products
EXEC [saveproducts] @product;
从上面的查询中,我将产品列表作为表格。现在我需要在json中加入相应产品的细节
INSERT INTO @detail
SELECT
[detaiId], [productId]
FROM
OPENJSON(@detailJSON)
WITH(detailId UNIQUEIDENTIFIER 'strict $.detaiId',
productId INT ??????);
如何通过比较productId
和表productName
中的@detailJSON
来获取@products
?
答案 0 :(得分:2)
只需要一个简单的内连接
INSERT INTO @detail
SELECT
J.[detaiId], P.[productId]
FROM
@products P
INNER JOIN
OPENJSON(@detailJSON)
WITH(detailId UNIQUEIDENTIFIER 'strict $.detaiId',
productName NVARCHAR(255) 'strict $.productName'
) J
ON J.productName = P.productName