2009-04-06 11 views
1

は、このような値を持つテーブルがあり、 『複製』:私は私のSELECT文で一つに、これら2つの値を組み合わせる必要がT-SQLで一つに2つのカラムの値を結合するために

Sets | Reps 
-----+------ 
2 | 10 
3 | 15 
3 | 12 
4 | 8 

ので、私可能性があります

SELECT ... AS Reps FROM Table 

Reps 
------------ 
10,10 
15,15,15 
12,12,12 
8,8,8,8 

どのようにこれを行う方法?

テストスクリプト:このように

DECLARE @Test TABLE ([Sets] INT, [Reps] INT); 

INSERT INTO @Test VALUES (2, 10); 
INSERT INTO @Test VALUES (3, 15); 
INSERT INTO @Test VALUES (3, 12); 
INSERT INTO @Test VALUES (4, 8); 

SELECT [Sets], [Reps] FROM @Test; 

// Here is an answer by tpdi: 
SELECT CAST([Reps] AS VARCHAR) + 
     REPLICATE(',' + CAST([Reps] AS VARCHAR), [Sets] - 1) 
     AS [Reps] FROM @Test; 
+0

私は興味があります、なぜあなたはこれをやっていますか? – tpdi

答えて

2

select substring(replicate(','+cast(Reps as varchar),Sets),2,8000) as Reps 
from Table 
2

選択キャスト(varchar型として担当者)+複製( '' varchar型として+キャスト(担当者)は、セット - 1) 表から

0

選択SUBSTRING(REPLICATE(CAST(VARCHARとして[担当者])+ ''、[設定])、 0、 LEN(REPLICATE(VARCHARとしてCAST([担当者])+ '' [セット] )) )[Reps] from @Test

+0

文字列インデックスは、ゼロベースではなく1つです。文字列の全長を使用しているため、部分文字列呼び出しでは何も削除されません。 – Guffa

関連する問題