我有一个表[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/