我有以下查询:
SELECT s."Description",
sp.*
FROM "Supplier" as s
OUTER APPLY (
SELECT p."Id", p."Description", p."Price"
FROM "Products" as p
WHERE p."SupplierId" = s."Id"
FOR JSON auto
) as sp
Run Code Online (Sandbox Code Playgroud)
我正在尝试根据OUTER APPLY结果构建 json 数组,但我卡在这里是因为有一个错误,No column name was specified for column 1 of 'sp'.我在 stackoverflow 上发现了类似的问题,但没有外部应用的示例。
你能解释一下这个查询有什么问题吗?
您只需要添加一个列别名:
SELECT
s."Description",
sp.*
FROM "Supplier" as s
OUTER APPLY (
SELECT p."Id", p."Description", p."Price"
FROM "Products" as p
WHERE p."SupplierId" = s."Id"
FOR JSON auto
) as sp(json)
Run Code Online (Sandbox Code Playgroud)