A B C D
12426 4 1 KT1217V
12426 4 1 KT1218V
12428 3 1 KT1217V
12428 3 1 KT1218V
12430 3 1 KT1217V
12430 3 1 KT1218V
12431 3 1 KT1217V
12431 3 1 KT1218V
12434 3 1 KT1217V
12434 3 1 KT1218V
12439 8 1 KT1217V
12439 8 1 KT1218V
12440 1 1 KT1217V
12440 1 1 KT1218V
12442 8 1 KT1217V
12442 8 1 KT1218V
12443 8 1 KT1217V
12443 8 1 KT1218V
私はこのような結果を探しています:
KT1217V 12426,12428 .....
KT1218 12426,12428,12431
KT1218 12434,12439
列bの値が合計<5になるまで、合計が> 5を超える場合は、c=1の場合に残っている値と同じの新しいレコードを表示します。
値<または>sum(列B)を取得するクエリを作成しましたが、列Dの残りの値列Aで同じの新しいレコードを表示できません
select D,
(select a.A+',' from table1 a where a.D = b.D for XML PATH ('') )
from table1 b
WHERE c = 1
group by D
HAVING SUM(B)<5
ORDER BY D