2017-01-02 28 views
3

我有json數據有一個productDetails列表。我需要將每個細節與productId結合起來。如何使用OPENJSON將json列表與SQL Server中的表連接起來?

我正在使用存儲過程。這是我的代碼:

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 ??????); 

如何通過@detailJSON從表@products比較productName得到productId

+0

你能提供樣品JSON(結構)和產品詳細模式 – Habeeb

+1

@Habeeb ..我已經解決了,它實際上聯接只需要一個笑着內。感謝您的編輯和回覆 –

回答

0

只有一個簡單的內部聯接需要

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 
相關問題