VS2005 C#およびSQL2005を使用しています。複数の列からデータを取得し、1つの列に表示する
複数の列からデータを取得し、それらをコンマで区切ってマージしたいとします。
など。私のSQLテーブルのデータUserDataを:
No. | Username | Roles |
1 | Jimmy | USER, READONLY, WRITE |
No. | Username | Role 1 | Role 2 | Role 3 |
1 | Jimmy | USER | READONLY | WRITE |
データは、私は私のGridViewのGridView1で表示したいです3210
3つの列のデータをマージしてマージし、データをカンマで区切ってGridViewにリストするには、SELECT文を使用できますか?
は
EDIT
ありがとう私はシャークとムンによって提供される方法を使用して試してみましたが、役割列のデータが空の場合、私はカンマを削除したいと思います。 USER,,
は私が同様の変数にグループ,
それは価値場合は表示されませんすることができますので、どのように知っている可能性があります:
状況は今の役割2とロール3が空の場合Roles
列は次のようになりますということです空ですか?ここで
null値を持つ連結列はnull値になるため、nullをチェックする必要があります。選択したユーザー名、IsNull([ロール1]、 '')+ '、' + IsNull([ロール2]、 '')+ '、' + IsNull([ロール3]、 '') UserDataからのロール – Mun
@RUiHAO編集した投稿をチェックしてください。これは 'ISNULL()'を使用して目的の結果を得ます。 –
@Munでは、クエリは先行するカンマまたは異なるNULL値を持つ二重カンマを挿入します。私の答えをチェックしてください。 'ISNULL()'関数でカラムとカンマ文字を組み合わせると、OPが探しているものでなければなりません。 –