2016-04-26 13 views

答えて

0

サンプルデータを含むテーブルを作成します。

CREATE TABLE #TableName (ColumnName varchar(10)) 

INSERT INTO #TableName (ColumnName) 
VALUES (1),(2),(3) 

これはUNION ALLで行います。

SELECT 
ColumnName 
FROM #TableName a 
UNION ALL 
(
SELECT 
a.ColumnName + ','+ b.ColumnName 
FROM #TableName a 
CROSS JOIN #TableName b 
) 
UNION ALL 
(
SELECT 
a.ColumnName + ',' + b.ColumnName + ','+ c.ColumnName 
FROM #TableName a 
CROSS JOIN #TableName b 
CROSS JOIN #TableName c 
) 

そしてクリーンアップしましょう。

DROP TABLE #TableName 
+1

まさに私が欲しいものです。ありがとう! – Jean

+1

これはパワーセットではありません(重複を許可している場合でも):最大の理由は、これは3つのアイテムに対してのみ有効です。 4番目の要素を追加するとすぐに、すべての組み合わせが得られるわけではありません。 1,2,3,4はどこですか?これが動作するためには、すべてのアイテムに対して 'union all'節がなければなりません。 – sparebytes

+0

それは与えられた情報の答えを提供します。あなたが私の意見に同意しない場合は、自分の答えを返信してください。 –

関連する問題