我有一个表[JsonTable],列[JsonData]保存json字符串,

JsonData像:

{
   "Names": ["John", "Joe", "Sam"]
}

我怎样才能像这样内部连接该表:
SELECT* FROM [TestTable] AS T
INNER JOIN [JsonTable] AS J ON T.[Name] IN JSON_QUERY(J.[JsonData], '$.Names')

最佳答案

您需要使用 OPENJSON 函数来读取Names数组。您可以使用此查询。

SELECT * FROM [TestTable] T
INNER JOIN [JsonTable] AS J ON T.[Name] IN (SELECT value FROM OPENJSON(J.[JsonData],'$.Names'))

关于sql-server - SQL Server 2016在JSON数组中选择位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46700840/

10-13 09:10