具有多个行和表的CTE

时间:2015-10-21 20:01:33

标签: sql sql-server sql-server-2008

我的CTE问题,在我的表格下面:

表:购买

PID      szProductID     curQty        curPrice
1        001             10            100
2        001             30            200
3        001             50            300

表:销售

SID      szProductID     curQty        curSalesPrice
1        001             15            500
2        001             5             400
3        001             5             400
4        001             5             400
5        001             40            400

我想展示如下表:

结果

SID      szProductID     curQty        curSalesPrice   curPurchasePrice
1        001             10            500             100
1        001             5             500             200
2        001             5             400             200
3        001             5             400             200
4        001             5             400             200
5        001             5             400             200
5        001             35            400             300

基本上,它就像一个FIFO方法..

我发现了很多CTE样本,但它们只比较了很多行到一行,有时我发现了一个错误:'语句终止了。在语句完成之前,最大递归100已经用尽。当我尝试那些样品时......

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

除非另行指定,否则SQL将默认超过100次递归。在查询结束时使用此功能可以超过100。

OPTION (MAXRECURSION *NUMBER UP TO 32767 HERE*)