Code:
-- Prepare sample data
DECLARE @Taxonomy TABLE (TaxID INT, TaxIDParent INT, Tax_Name VARCHAR(10), TaxLevel INT)
INSERT @Taxonomy
SELECT 259, 256, 'P.O', 3 UNION ALL
SELECT 256, 4, 'A', 2 UNION ALL
SELECT 4, 1, 'B', 1 UNION ALL
SELECT 1, 0, 'C', 0
-- Prepare recursion
DECLARE @StartingNode INT
SET @StartingNode = 259
;WITH Yak (TaxID, ParentID)
AS (
SELECT TaxID,
TaxIDParent
FROM @Taxonomy
WHERE TaxID = @StartingNode
UNION ALL
SELECT t.TaxID,
t.TaxIDParent
FROM @Taxonomy AS t
INNER JOIN Yak AS y ON y.ParentID = t.TaxID
)
SELECT TaxID AS RootNode
FROM Yak
WHERE ParentID = 0