34,590
社区成员
发帖
与我相关
我的任务
分享
--求两条记录的和为27
DECLARE @TB TABLE([id] VARCHAR(3), [price] INT)
INSERT @TB
SELECT '001', 12 UNION ALL
SELECT '002', 15 UNION ALL
SELECT '003', 255
;WITH C AS
(
SELECT *,TOTAL=price,CAST(id AS VARCHAR(MAX)) AS PATH,CNT=1 FROM @TB
UNION ALL
SELECT A.*,TOTAL+A.price,PATH+','+A.id,CNT+1 FROM @TB AS A,C WHERE A.id=C.id+1
)
SELECT B.*
FROM C,@TB AS B
WHERE TOTAL=27 AND CHARINDEX(','+B.id+',', ','+PATH+',')>0 AND CNT=2