如何将json数组与表合并(SQL Server)
我有两行json,我想在id上加入到一个select中 样本表A A. [{id:1,name:Alice},{id:2,name:Bob}] [{id:5,姓名:Charlie},{id:6,姓名:Dale} 首先,这假设您的JSON实际上是有效的。没有引用您的元素id和名称,因此JSON实际上是无效的。此外,我假设您的预期结果是错误的,因为Charlie的年龄为20岁,但该年龄属于id值为3的人,Charlie的id为5 无论如何,我们可以通过子查询实现这一点: 创建表dbo.tableanvarmax; 插入到dbo.TableA中 VALUESN'[{id:1,name:Alice},{id:2,name:Bob}], N'[{id:5,姓名:查理},{id:6,姓名:戴尔}]; 去 创建表dbo.TableB id int,age int; 插入dbo.TableB id,age 值1,30, 2,32, 3,20, 4,14; 去 选择选择OJ.id, OJ.[姓名], B.年龄 来自OPENJSONA.a 使用id int, [姓名]nvarchar50 OJ 在OJ.id=B.id上左连接dbo.TableB 对于JSON AUTO a 来自dbo.TableA; 去 DROP TABLE dbo.TableA; 删除表dbo.TableB;如何将json数组与表合并(SQL Server),json,sql-server,join,Json,Sql Server,Join,我有两行json,我想在id上加入到一个select中 样本表A A. [{id:1,name:Alice},{id:2,name:Bob}] [{id:5,姓名:Charlie},{id:6,姓名:Dale} 首先,这假设您的JSON实际上是有效的。没有引用您的元素id和名称,因此JSON实际上是无效的。此外,我假设您的预期结果是错误的,因为Charlie的年龄为20岁,但该年龄属于id值为3的人,Charlie的id为5 无论如何,我们可以通过子查询实现这一点: 创建表dbo.tablean
好的,那么你的问题是什么?你有什么不起作用?你的JSON字段名没有被引用吗?我不认为openjson可以与没有被引用的字段名一起工作,所以TableA中的每一行都是一个单独的数组?它只是第二行的一个输入错误,没有关闭该行中的数组?@squillman是的。@Larnu我无法在多行上使用openjson。W我们希望将每个单元格连接到另一个表。