gpt4 book ai didi

json - SQL Server : How to query data all rows as Json object into next to other columns?

转载 作者:行者123 更新时间:2023-12-04 01:43:11 25 4
gpt4 key购买 nike

我有这样的数据:
enter image description here

我想这样查询结果:
enter image description here

这是我的代码

SELECT
PML_CODE
,PML_NAME_ENG
,(
SELECT
PML_ID
,PML_NO
,PML_CODE
,PML_NAME_ENG
,PML_FORMULA
FROM DSP.PARAMET_LIST AS A WITH(NOLOCK)
WHERE A.PML_ID = B.PML_ID
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER
) AS BR_OBJECT
FROM DSP.PARAMET_LIST AS B WITH(NOLOCK)

我的代码适用于我想要的,但我想知道是否有更好、更快的方法来编写此查询?

最佳答案

下次请不要发布图片,而是尝试创建一些 DDL,用示例数据填充它并说明您自己的尝试和预期的输出。这使我们更容易理解和回答您的问题。

你可以这样试试:

DECLARE @tbl TABLE(PML_ID BIGINT, PML_NO INT, PML_CODE VARCHAR(10), PML_NAME_ENG VARCHAR(10), PML_FORMULA VARCHAR(10));
INSERT INTO @tbl VALUES
(2017102600050,1,'KHR','Riel','01')
,(2017102600051,2,'USD','Dollar','02')
,(2017102600052,3,'THB','Bath','05')

SELECT
PML_CODE
,PML_NAME_ENG
,BR_OBJECT
FROM @tbl
CROSS APPLY(
SELECT
(
SELECT
PML_ID
,PML_NO
,PML_CODE
,PML_NAME_ENG
,PML_FORMULA
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER
)) AS A(BR_OBJECT);

与您自己的方法的最大不同在于我使用了 CROSS APPLY使用我们已有的列而不是调用相关的子查询。

关于json - SQL Server : How to query data all rows as Json object into next to other columns?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56535891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com