2017-05-02 15 views
1

を作成します。私はテーブルを持っており、フォーマットは以下の通りです横の列

Staff  Client Problems Status 
    1  101  a  1 
    1  101  b  0 
    1  101  e  1 
    2  102  g  0 
    2  102  k  1 

私はそれに基づいてレポートを作成する必要があり、形式はベローズの通りです。

Staff  Client Problem1 Status Problem2 Status Problem3 Status..... 
1   101   a  1   b  0  e  1 
2   102   g  0   k  1 

更新:

SqlZimの助けを借りて以下のように、私は結果を得る:私は行列のSSRSレポートを作成し、行として列グループとクライアントとしてのカテゴリーを設定

Staff  Client  Category Problems Status 
     1  101 Problem1 a  1 
     1  101 Problem2 b  0 
     1  101 Problem3 e  1 
     2  102 Problem1 g  0 
     2  102 Problem2 k  1 

グループと問題の値として。

エラーが発生しました。

お手伝いできますか?ありがとう! SQL Serverで

+0

ではなく、あなたが 'を使用している場合、レポートには、列を処理させるrdl'の当時の私は、私はまだProblem1、Problem2などのカテゴリ名を作成する必要があると思う列グループ – Stephen

+0

を検討し、 ......しかし、私は正しいカテゴリ名を得ることができません。 – Ice

答えて

2

あなたがあなたの代わりに持つの値を連結するconcat()を使用することができます2012+ SQL Serverで '問題'

select 
    Staff 
    , Client 
    , 'Problem'+convert(varchar(10), 
     row_number() over (partition by Staff, Client order by Problems) 
    ) as Category 
    , Problems 
    , Status 
from t 

を行に番号を付けるrow_number()を使用し、連結することができます

select 
    Staff 
    , Client 
    , concat('Problem', 
     row_number() over (partition by Staff, Client order by Problems) 
    ) as Category 
    , Problems 
    , Status 
from t 

rextesterデモ:明示的row_number()varchar()への変換10の

リターン:

+-------+--------+----------+----------+--------+ 
| Staff | Client | Category | Problems | Status | 
+-------+--------+----------+----------+--------+ 
|  1 | 101 | Problem1 | a  |  1 | 
|  1 | 101 | Problem2 | b  |  0 | 
|  1 | 101 | Problem3 | e  |  1 | 
|  2 | 102 | Problem1 | g  |  0 | 
|  2 | 102 | Problem2 | k  |  1 | 
+-------+--------+----------+----------+--------+ 
+0

ありがとう、SqlZim! – Ice

+0

@Ice喜んで助けてください! – SqlZim

関連する問題