如何使下面的查询有效
我使用了另一个问题SQL Server 2016 JSON: Select array of strings instead of array of objects中的概念
但是当我尝试下面的选择时,它不起作用
SELECT
(
SELECT line AS "line" FROM (
SELECT CONCAT(
'5th'
, ' ', '566'
) AS "line"
UNION ALL
SELECT 'Complement' AS LINE
)
FOR JSON PATH)
AS "address.lines"
SQL Server的版本SELECT @@VERSION
= Microsoft SQL Server 2016
查询的结果是
消息156,第15级,状态1,第11行
关键字“ FOR”附近的语法不正确。
我需要使用UNION ALL
,因为我在同一个表中有两个不同的值,以在JSON结果中生成一个名为address.lines
的数组
t
):声明:
SELECT (
SELECT [Line] FROM (
SELECT CONCAT('5th', ' ', '566') AS [Line]
UNION ALL
SELECT 'Complement' AS [Line]
) t
FOR JSON PATH
)
AS "address.lines"
输出:
address.lines [{"Line":"5th 566"},{"Line":"Complement"}]