webForumDet fria alternativet

problem att få ut sökväg

Databaser & SQLur Databashanterare & SQL

2 svar · 380 visningar · startad av Vinnaren

Medlem sedan sep. 2005833 inlägg
Frågan#1

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

category tabellen:
catid - Name - CatOwner
1 - Test - 0
2 - Test2 - 1
3 - Test3 - 2
4 - Testa - 0

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.

Kan man få ut hela sökvägen isf hur?

Tacksam för all hjälp :stud

Medlem sedan juni 20003 076 inlägg
#2

Visst använder du ms server va?

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
Medlem sedan sep. 2005833 inlägg
#3

Tusen tack doggelito, fungerade perfekt :bire

158 ms totalt · 3 externa anrop · v20260731065814-full.55e59744
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
154 ms — hämta tråd, inlägg och bilagor (db)