В одной категории может быть много товаров. Я должен построить StoredProcedure, который возвращает все категории с некоторыми данными из Продуктов, объединенными в одно поле:
SP Result:
idCategory Name ProductNames ProductQuantities
1 Cat1 Procut1,Product2 24,32
2 Cat2 ProductX,ProductY 0,61
ProductNames и ProductQuantities - поля varchar с объединенными (объединенными) значениями полей из объединенных таблиц Product. Вот что у меня в БД:
Category table:
idCategory Name
1 Cat1
2 Cat2
Product table:
idProduct idCategory Name Quantity
1 1 Product1 24
2 1 Product2 32
3 2 ProductX 0
4 2 ProductY 61
Я также хотел бы иметь функцию, которая возвращает «Product1, Product2» для входного параметра idCategory = 1, например:
SELECT idCategory,
dbo.NamesFn(idCategory) AS ProductNames,
dbo.QuantitiesFn(idCategory) AS ProductQuantities
FROM Category
может быть, одна функция, которая возвращает Table Result, поэтому объединение будет выполнено только один раз, а не в каждой Fn (потому что это упрощенный пример, в реальном приложении у меня должно быть 4-5 комбинированных полей, или даже больше в будущем)
Как написать этот SQL / SP & Fn? Я использую MS SQL2005