【发布时间】:2019-01-02 13:24:27
【问题描述】:
我有一个可能相对简单的查询,但我无法理解如何查询嵌套的 json 数组。我有一个带有 json 字段的 SQL 2016 DB,其中包含一个带有多个子数组的 json 字符串。
附上一张json数据的图片:
我要查询“标识”数据(99999829250103)
我可以使用以下查询查询accountId(LOADACC001)或昵称(LoadTest)等数据,但无法从“account”数组中查询:
SELECT top 1
accountId as NonUserAccountId
FROM [DBName].DBSchema.transactions t
CROSS APPLY OPENJSON (t.BankDataText, N'$.data')
WITH
(
accountId VARCHAR(100) 'strict $.account.accountId'
)
where t.Id = 675
“BankDataText”字段包含 json 字符串,表称为“transactions”。当我向查询中添加另一个 CROSS APPLY 时,不会返回任何行。
【问题讨论】:
-
请以文本(非图像)格式发布整个 json
标签: sql json sql-server tsql sql-server-2016