1. 程式人生 > 資料庫 >SQL Server 那些行的合計數等於特定數

SQL Server 那些行的合計數等於特定數

已知一個數,得知那些行的合計後等於這個數:如,表中哪些行數相加等於200的全部組合

CREATE TABLE #t(ID VARCHAR(1),資料 INT)
INSERT INTO #t
select 'a',10 union all
select 'b',90 union all
select 'c',100 union all
select 'd',180 union ALL
select 'e',15 union ALL
select 'f',5;
with ps as
(
select *,path=cast(id as varchar(8000)),path1=cast(資料 as varchar(8000)),total=資料 from #t
union all
select b.id,b.資料,a.path+','+b.id,path1+','+ltrim(b.資料), a.total+b.資料
from ps a join #t b on a.id<b.id and a.total<200
)

select path,path1,total from ps where total=200