, 나는 두 제품 항목에 대해 다음과 같이
/*create table ProductAttributes (
product int,
attribute varchar(40),
value varchar(40)
)
insert into ProductAttributes select 1, 'color', 'red'
insert into ProductAttributes select 1, 'size', 'small'
insert into ProductAttributes select 2, 'processor', 'intel'
insert into ProductAttributes select 2, 'ram', '16'
insert into ProductAttributes select 2, 'weight', '2'*/
select
product, '{' + STRING_AGG('"' + attribute + '":"' + value + '"' ,',') + '}' as attributes
from ProductAttributes
group by product
출력이 제품 1 { "컬러"를 속성입니다 string concatenation function string_agg in SQL Server 2017 사용 "크기": "작은"} 2 { "프로세서": "인텔", "램": "16", "무게": "2"}
당신은을 사용하는 경우 이전 버전
SELECT
product,
'{' + STUFF(
(
SELECT
',' + '"' + attribute + '":"' + value + '"'
FROM ProductAttributes a
where a.product = p.product
FOR XML PATH(''),TYPE
).value('.','VARCHAR(MAX)'
), 1, 1, ''
) + '}' As attributes
from ProductAttributes p
group by product
개발자를 다음과 같이 SQL 서버 2017보다, 당신은 동일한 결과
달콤한 물건을 얻을 것이다 string concatenation using SQL XML Path을 사용할 수 있습니다! Microsoft가 독점적 인 기능을 추가 할 때까지 좋은 해결 방법을 제시합니다. Tanx. – dNitro