gpt4 book ai didi

sql - 在cte查询sql server 2008中初始化和增加变量

转载 作者:行者123 更新时间:2023-12-02 01:07:13 25 4
gpt4 key购买 nike

我正在使用 sqlserver 2008,我想在第二部分(问题线)中同时初始化和递增变量 (@NUMTwo)。

我正在创建一个 cte 查询。

这可能吗?如果可以,请告诉我。

以下是一个示例。希望我很清楚。

CREATE table #TempTable 
(
childProductID INT,parentProductID INT,productModel varchar(50),[Num2] VARCHAR(100)
)

DECLARE @NUMTwo INT = 0
WITH tableR AS
(

-- First Part
SELECT childProductID = null,parentProductID=null,productModel from Products where productid in (@a),[Num2] = convert(varchar(100), '')
UNION ALL
--Second Part
SELECT e.childProductID,e.parentProductID,prd.productModel FROM ProductIncludes AS e
,[Num2] = convert(varchar(100),'1.' + @NUMTwo+=1 ) -- Problem line
INNER JOIN Products AS PRD ON e.childProductID = PRD.productID
WHERE parentProductID in (@a)

)

INSERT INTO #TempTable(childProductID,parentProductID,productModel,[Num2])
SELECT childProductID,parentProductID,productModel,[Num2]

END
SELECT * FROM #TempTable

最佳答案

您需要在查询的 acnhor 部分“初始化”一列,然后在递归部分“增加”此列。

类似于

DECLARE @NUMTwo  INT = 0
;WITH Test AS (
SELECT [Num2] = convert(varchar(MAX), ''),
@NUMTwo [N]
UNION ALL
SELECT [Num2] = '1.' + convert(varchar(MAX),[N]+1),
[N]+1
FROM TEst
WHERE [N] < 10
)
SELECT *
FROM Test

SQL Fiddle DEMO

关于sql - 在cte查询sql server 2008中初始化和增加变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12668468/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com