基本的には、テーブルから3カラムを取り出し、最初のカラムの値を使用してストリングの行に結合する必要があります。テーブルの複数のカラムを1つのカラムに結合すると、最初のカラム値が新しいローを決定します
使用して基本的な出力の開始:
select ItemID, Month, Year
from tableA
where ID = @id
出力:
ItemID Month Year
1. 4 1 2012
2. 4 2 2012
3. 4 3 2012
4. 4 6 2012
5. 4 8 2012
6. 12 1 2012
7. 12 2 2012
8. 12 4 2012
9. 12 5 2012
10. 12 6 2012
11. 12 7 2012
12. 53 8 2012
13. 53 9 2012
私はこれと似たものになります取得しようとしています出力:基本的に
1. 41201222
2. 12120122201242012520126201272012
3. 538201292012
を、同じ番号のすべてのItemIDを結合し、新しいItemIDがあるときに新しい行を開始します。
私はさまざまなテンポラリテーブルとピボットを試しましたが、これを正しく出力することはできません。どんな助けもありがとう。
おかげで、これは使用したので
、:declare @table table (idmy varchar(8))
insert into @table
select cast(ItemID as varchar(2)) +
cast(Month as varchar(2)) +
cast(Year as varchar(4)) as idmy
from TableA
where ID = @id
select idmy from @table
私はの出力を得ることができます:上記のことながら、今、すべてのような初期の行を組み合わせること
idmy
1. 412012
2. 422012
3. 432012
4. 462012
5. 482012
6. 1212012
7. 1222012
8. 1242012
9. 1252012
10. 1262012
11. 1272012
12. 5382012
13. 5392012
を...
可能[MS SQL Server 2005でのgroup_concatのMySQL機能のシミュレーション?](http://stackoverflow.com/questions/451415/simulating-group-concat-mysql-function-in-ms-sql-server-2005) –