Мне нужна помощь или указатель на CTE.
Я пытаюсь извлечь спецификацию, и я использовал запрос CTE. Запрос работает хорошо, и он вытягивает все данные. Моя борьба состоит в том, что во многих частях есть новые версии на разных уровнях, и я хочу получить только новые версии. В настоящее время мой запрос захватывает все. У меня есть столбец версии.
Я пробовал несколько разных вещей, таких как попытка использовать функцию max в CTE, но я получил ошибку, говоря group, поскольку не может быть частью рекурсивных ctes.
Кроме того, я попытался использовать подзапрос, но я не получил правильный результат.
WITH BOM (
Parent
,Child
,Qty
,Childrev
,LEVEL
,sort
)
AS (
SELECT Parent
,cast(RTRIM(Child) AS NVARCHAR(max))
,Qty
,Childrev
,0 AS LEVEL
,cast(RTRIM(Child) AS NVARCHAR(max))
FROM Bomtable
UNION ALL
SELECT BOM.Parent
,cast(RTRIM(Bomtable.Child) AS NVARCHAR(max))
,Bomtable.Qty
,BOM.Childrev
,LEVEL + 1
,CAST(BOM.Sort + '..... ' + RTRIM(Bomtable.Child) AS NVARCHAR(max))
FROM BOM
INNER JOIN Bomtable ON Bomtable.Parent = BOM.Child
WHERE BOM.Parent = main product
ORDER BY SORT
)