1

次のようなSQLテーブルにデータがあります。

Name    colno    remark
----    -----    ------
bill    col 1    good
bill    col 2    ok
bill    col 3    triff
bill    col 4    A1
bob     col 1    poor
bob     col 2    excellent
bob     col 3    ok
bob     col 4    B+
bert    col 1    
bert    col 2    no info
bert    col 3    pass
bert    col 4    C-

そして、次のようにレイアウトされたデータバインディングを備えたグリッドビュー(?)が必要です:

Name     col 1    col 2      col 3    col 4
Bill     good      ok        triff     A1
Bob      poor     excellent  ok        B+
bert              no info    pass      C-

そのため、必要に応じてデータを編集/挿入できます。

キラーは、列の数が異なる可能性があることです。たとえば、上記の最初の例では 4 ですが、10 から 15 の間の任意の数にすることができます。したがって、2 回目の抽出では、データは次のようになります。

Name    colno    remark
----    -----    ------
brenda  col 1    ok
brenda  col 2    ok
brenda  col 3    excellent
boris   col 1    poor
boris   col 2    ok
boris   col 3    ok
baz     col 1    great
baz     col 2    no info
baz     col 3    ok

このようなテーブルを与える:

Name     col 1    col 2      col 3
brenda   ok        ok        excellent
boris    poor      ok          ok
baz      great    no info      ok

私はSQLピボットを調べましたが、データを要約したくありません。これは、レコードごとに1つのテキストフィールドにすぎません。したがって、この種のクエリは機能しないと思います。

select * from myData
pivot (someAggregateFunctionThatIDontNeed(colNo) for colNo_ButNotBeingAggregated in (variableNoOfColumns)) as notAnAvergageJustText

複数の sql-extracts-into-datatables-then-loop から DataTable のピースミールを構築しようとしました (これは動作しますが、後でデータをバインドする方法がわかりません)。

何か案は?私はこれを 4 日間続けてきましたが、困惑しています。あなたの日曜日の夕食を作るために妻がやってくるという申し出はまだ続いています...

4

2 に答える 2

0

ピボットが必要です。SQL の "pivot" MSDN を検索するか、Google で検索してください。少し時間をかけて理解を深める準備をしてください。構文は簡単ではありません。

于 2013-01-19T21:31:27.193 に答える
0

SQL ステートメントで ISNULL を試して、データのない列をチェックしましたか? データがない場合は、ステートメント自体にデフォルト設定を設定できます。

ISNULL([YOUR FIELD],'Whatever you want to display here')
于 2013-01-21T21:03:04.517 に答える