sku @itemnoの製品名の最初の6文字が同一であるSKUを探している製品のデータセットを繰り返して、CSV文字列に連結しますeコマースプラットフォームにアップロードするデータセットの一部として使用することができます。関連する操作は次のとおりです。SQL Server 2005で集中的なCURSOR操作の代替案を提案する
DECLARE c1 CURSOR READ_ONLY
FOR
SELECT sku FROM tbl WHERE name LIKE (SELECT LEFT(name,6) FROM tbl WHERE sku = @itemno) + '%'
OPEN c1
FETCH NEXT FROM c1
INTO @c1
WHILE @@FETCH_STATUS = 0
BEGIN
SET @associated = @associated + @c1 + ','
FETCH NEXT FROM c1
INTO @c1
END
これは、15,000+レコードのデータセットサイズを考えると非常に遅いと思います。確かにPIVOTなどを使ってこれを行うよりエレガントな方法がありますか?
1のようなものを試してみてください。 COALESCEもいいです.... –
+1あなたにも。 stuff/xmlのアプローチは、単一の値を返すために多少のように思えました。私はX - をグループ化するためにそれを使用します) –
この質問はここで答える:http://stackoverflow.com/questions/455423/how-to-turn-one-column-of-a-table-into-a-csv -string-in-sql-server-without-using-a – Drew