Я уверен, что это спросили, но я не могу вполне найти правильные критерии поиска.
Учитывая схему как это:
| 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
Что я делаю вместо 'AGG' для строк в SQL Server в следующем запросе стиля?
SELECT *,
(SELECT AGG(CarModel)
FROM CarModels model
WHERE model.CarMakeID = make.CarMakeID
GROUP BY make.CarMakeID) as CarMakes
FROM CarMakes make
http://www.simple-talk.com/sql/t-sql-programming/concatenating-row-values-in-transact-sql/
Это интересная проблема в Transact SQL, для которой существует есть ряд решений и серьезные споры. Как вы подойдете к получению итогового результата, в котором отличительный столбец из каждой строки в каждой конкретной категории указан в «агрегированном» столбце? На удивление сложно добиться простого и интуитивно понятного способа отображения данных. Анит Сен дает краткое изложение различных способов и предлагает слова предостережения по сравнению с тем, который вы выберете ...