【发布时间】:2019-12-02 10:55:40
【问题描述】:
我有一个用脚本创建的表
CREATE TABLE [dbo].[Queries]
(
[Id] [INT] NOT NULL,
[Name] [NVARCHAR](MAX) NOT NULL,
[Module] [NCHAR](64) NOT NULL,
[Query] [NVARCHAR](MAX) NOT NULL,
PRIMARY KEY (Id)
)
GO
Query 列是 JSON 字符串,例如:
[
{
"FieldName": "TargetFieldName",
"Filters": [
{ /* Description Filter 1 */ },
...
{ /* Description Filter N */ }
]
}
]
我想从该表中选择:ID、名称、和不同的列名列表作为 THIRD 中的 json 数组列。
例如对于行:
-------------------------------------------------------------------------------------------------
| Id | Name | Query |
-------------------------------------------------------------------------------------------------
| 7 | Query 7 | [{"FieldName": "A", ... },{ "FieldName": "B" ...},{"FieldName": "B", ... }] |
-------------------------------------------------------------------------------------------------
我想买
| Id | Name | DistinctFieldNames |
+----+---------+--------------------+
| 7 | Query 7 | ["A","B"] |
我的问题是:
- 是否可以在 SQL Server 端将 json 数据转换为其他格式的 json 数据?
- 如何编写 SQL 查询从 json 对象数组中选择一个字段?
【问题讨论】:
标签: sql json sql-server sql-server-2017