Försöker få ut hela kategorisökvägen men vet inte redigt hur man ska lösa det.
Har hittills följande:
ALTER PROCEDURE dbo.GetWayById
(
@PrId int
)
AS
SELECT c.Name
FROM category AS c
INNER JOIN product AS p
ON p.CatId = c.CatID
WHERE p.PrId = @PrId
ORDER BY c.CatOwner ASC
Tillhör produkten tex catid 3 så vill jag ha ut hela sökvägen, dvs de 3 första posterna.
I min sql-fråga får jag bara ut den kategorin som produkten ligger under.
ALTER PROCEDURE dbo.GetWayById
@PrId int
AS
BEGIN
WITH CTE_Categories
AS
(
SELECT catid, CatOwner, [Name], row = 1
FROM Category
WHERE catid = @PrId
UNION ALL
SELECT c2.catid, c2.CatOwner, c2.Name, row = row+1
FROM Category c2
INNER JOIN CTE_Categories c ON c2.catid = c.CatOwner
)
SELECT *
FROM CTE_Categories
ORDER BY row ASC --DESC;
END