[SQL] SQL Server에 대한 그룹화 된 문자열 집계 / LISTAGG
SQLSQL Server에 대한 그룹화 된 문자열 집계 / LISTAGG
나는 확실히이 요청 된거야하지만 난 꽤 바로 검색어를 찾을 수 없습니다.
이 같은 스키마를 감안할 때 :
| CarMakeID | CarMake
------------------------
| 1 | SuperCars
| 2 | MehCars
| CarMakeID | CarModelID | CarModel
-----------------------------------------
| 1 | 1 | Zoom
| 2 | 1 | Wow
| 3 | 1 | Awesome
| 4 | 2 | Mediocrity
| 5 | 2 | YoureSettling
이 같은 데이터 세트를 생성하려면 :
| CarMakeID | CarMake | CarModels
---------------------------------------------
| 1 | SuperCars | Zoom, Wow, Awesome
| 2 | MehCars | Mediocrity, YoureSettling
나는 다음과 같은 스타일의 쿼리 SQL Server의 문자열을 'AGG'대신에 어떻게해야합니까?
SELECT *,
(SELECT AGG(CarModel)
FROM CarModels model
WHERE model.CarMakeID = make.CarMakeID
GROUP BY make.CarMakeID) as CarMakes
FROM CarMakes make
해결법
-
==============================
1.http://www.simple-talk.com/sql/t-sql-programming/concatenating-row-values-in-transact-sql/
http://www.simple-talk.com/sql/t-sql-programming/concatenating-row-values-in-transact-sql/
-
==============================
2.그것은 SQL 서버 2017 또는 SQL Server VNext, 아래로 String_agg을 사용할 수 있습니다 푸른 SQL 데이터베이스의 경우 :
그것은 SQL 서버 2017 또는 SQL Server VNext, 아래로 String_agg을 사용할 수 있습니다 푸른 SQL 데이터베이스의 경우 :
SELECT make.CarMakeId, make.CarMake, CarModels = string_agg(model.CarModel, ', ') FROM CarModels model INNER JOIN CarMakes make ON model.CarMakeId = make.CarMakeId GROUP BY make.CarMakeId, make.CarMake
산출:
+-----------+-----------+---------------------------+ | CarMakeId | CarMake | CarModels | +-----------+-----------+---------------------------+ | 1 | SuperCars | Zoom, Wow, Awesome | | 2 | MehCars | Mediocrity, YoureSettling | +-----------+-----------+---------------------------+
from https://stackoverflow.com/questions/3368942/grouped-string-aggregation-listagg-for-sql-server by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] SQL 점 표기법 (0) | 2020.05.03 |
---|---|
[SQL] MySQL의 GROUP BY 동작 (0) | 2020.05.03 |
[SQL] MySQL의 절차에 값을 통해 문자열 및 루프를 분할 (0) | 2020.05.03 |
[SQL] "당신은 지정된 집계 함수를 포함하지 않는 쿼리를 실행하려고" (0) | 2020.05.03 |
[SQL] 왜 하나의 SELECT에서 집계 값과 비 집계 값을 혼합 할 수 없습니다? (0) | 2020.05.03 |