Sql 从JSON数组中获取每行多条记录

Sql 从JSON数组中获取每行多条记录,sql,json,sql-server,open-json,Sql,Json,Sql Server,Open Json,我无法理解如何从一行中提取多个值,因为每行的JSON数组中都有源代码 设置可能有点愚蠢,但事实就是这样 表: 内容: 结果我想: 我尝试了一些交叉应用和JSON_查询的方法,但直到现在都没有成功 例如: 从交叉应用表中选择jt.PropertyIWant 从OPENJSON Table.LogContent中选择*并使用DateTime datetimeoffset]7,PropertyIWant NVARCHA255'$.PropertyIWant' jt 但当数据库中只有77行时,这将返回2

我无法理解如何从一行中提取多个值,因为每行的JSON数组中都有源代码

设置可能有点愚蠢,但事实就是这样

表:

内容:

结果我想:

我尝试了一些交叉应用和JSON_查询的方法,但直到现在都没有成功

例如:

从交叉应用表中选择jt.PropertyIWant 从OPENJSON Table.LogContent中选择*并使用DateTime datetimeoffset]7,PropertyIWant NVARCHA255'$.PropertyIWant' jt
但当数据库中只有77行时,这将返回219.851行。在我的数据库中,它应该返回大约13000条记录。

如果您的DB版本是2016+,那么您可以使用嵌套在OPENJSON函数中的JSON\u查询,其中包含WITH子句,解释返回列的模型:

选择DateTime,PropertyIWant 从选项卡 交叉应用OPENJSONJSON_QUERYLogContent,“$” 使用DateTime nvarchar500“$.DateTime”, PropertyIWant nvarchar500'$.PropertyIWant';
这些你已经尝试过的东西,一定要告诉我们。尽管交叉应用OPENJSON已经足够了,但是你的陈述还是很好的。对于问题中的数据,该语句返回4行,这是正确的结果,因为在每个JSON数组中,每行有2项。你能发布返回错误结果的测试数据吗?谢谢Zhorov,我忘了WHERE语句。。这导致许多其他JSON返回空值,还有许多不符合预期的结果。谢谢,我已经对此进行了测试,并且在Dale K请求后将其包括在内。不幸的是,它返回相同数量的记录,219.851。这很奇怪,它复制了一个表,只复制了3个testrecords到表中,然后它给出了预期的结果,我将首先检查原因和方式。是的。我只是个傻瓜。。日志表中记录了更多的其他内容,我没有用WHERE排除这些记录。。谢谢
LogID       [int]
LogContent  nvarchar(max)
╔═══════╦══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╗
║ LogID ║ LogContent (JSON in nvarchar)                                                                                        ║
╠═══════╬══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╣
║ 1     ║ [{"DateTime":"2020-04-15T00:00:31","PropertyIWant":"ABC"}, {"DateTime":"2020-04-15T00:00:32","PropertyIWant":"DEF"}] ║
║ 2     ║ [{"DateTime":"2020-04-15T00:00:33","PropertyIWant":"GHI"}, {"DateTime":"2020-04-15T00:00:34","PropertyIWant":"JKL"}] ║
╚═══════╩══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝
╔═══╦═════════════════════╦═══════════════╗
║   ║ DateTime            ║ PropertyIWant ║
╠═══╬═════════════════════╬═══════════════╣
║ 1 ║ 2020-04-15T00:00:31 ║ ABC           ║
║ 2 ║ 2020-04-15T00:00:32 ║ DEF           ║
║ 3 ║ 2020-04-15T00:00:33 ║ GHI           ║
║ 4 ║ 2020-04-15T00:00:34 ║ JKL           ║
╚═══╩═════════════════════╩═══════════════╝