0

vendorcategoryおよびを含むテーブルがありpageます。このテーブルに基づいて (カタログにあるような) インデックスを作成する必要があります。

行をループすることで Excel でこれを行うことができます。ベンダーとカテゴリが上の行と同じ場合、新しいページがその上のセルの最後に追加されます。

Tim's Company      Code     120
Tim's Company      Code     122

結果として

Tim's Company      Code     120,122

1000行未満を扱っている場合、Excelは問題ありません。私はここの 12K エリアにいます。それは永遠にかかるでしょう。さらに、ページが繰り返されたくないインスタンスがいくつか発生します。前もってSQL重複を取り除くことができますが、ページで連結を行う方法がわかりません。でこれを行うほうがよいでしょうSSRSか? または、ビューも結果を生成しますか?

4

3 に答える 3

1
DECLARE @x TABLE(vendor varchar(32), category varchar(32), page int);

INSERT @x VALUES
('Tim''s Company','Code',120),
('Tim''s Company','Code',122);

SELECT vendor, category, pages = STUFF((
  SELECT ',' + CONVERT(varchar(11), page)
  FROM @x AS x2
  WHERE x2.vendor = x.vendor AND x2.category = x.category
  ORDER BY page
  FOR XML PATH(''), 
  TYPE).value(N'./text()[1]', N'nvarchar(max)'),1,1,'')
FROM @x AS x
GROUP BY vendor, category;
于 2013-08-29T15:28:03.240 に答える