0

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

ここに画像の説明を入力

このデータを次のように表示する必要があります。

  • マーク

  • サム
  • ジム

  • ジョン
  • ジョー

西

  • 明細書

単なる例であるリスト形式でそれらを必ずしも必要とするわけではありません。それらをブランチごとに分離できる必要があります。私が理解していることから、DO WHILEステートメントを使用する必要がありますか? 適切なコードを作成する方法がわかりません。これはこれまでの私のコードです。

ASPXページ

<div class="row">
   <div class="span12">
         <% 
            System.Data.OleDb.OleDbConnection pcn;
            System.Data.OleDb.OleDbCommand pcm;
            System.Data.OleDb.OleDbDataReader prs;

            pcn = new System.Data.OleDb.OleDbConnection("");
            pcm = new System.Data.OleDb.OleDbCommand();
            pcn.Open();
            pcm.Connection = pcn;

            var Sql = "SELECT * from Locations";

            pcm.CommandText = Sql;
            prs = pcm.ExecuteReader();
            var rowcount = 0;

            while (prs.Read())
            {
                rowcount++;
        %>

            <h4><%= prs["Branch"].ToString() %></h4>
            <%= prs["Name"].ToString() %>

        <%
            }
            prs.Close();
            pcn.Close();
        %>

私を助けてくれてありがとう!

4

4 に答える 4

1

はいAcId 2番目のアイデアは最も単純です最初に場所をブランチでソートし、次に彼が言ったことを実行します

        var Sql = "SELECT * from Locations Order by Branch";

        pcm.CommandText = Sql;
        prs = pcm.ExecuteReader();
        var rowcount = 0;
        var prvBranch="";

        while (prs.Read())
        {
            rowcount++;       
        if(prvBranch!=prs["Branch"].ToString())
        {%>
            <h4><%= prs["Branch"].ToString() %></h4>
        <%} %>
        <%= prs["Name"].ToString() %>

    <%
        prvBranch = prs["Branch"].ToString();

        }
        prs.Close();
        pcn.Close();
    %>
于 2013-05-22T15:11:23.557 に答える
0

ピボットテーブルを使ってみましたか? http://blogs.msdn.com/b/spike/archive/2009/03/03/pivot-tables-in-sql-server-a-simple-sample.aspx

于 2013-05-23T15:17:46.073 に答える
0

データベースから必要な出力を取得するには、SQLクエリを更新する必要があります

于 2013-05-22T15:05:58.800 に答える
0

SQL クエリでは、ブランチごとにグループ化する必要があります。SQL ステートメントを次のようにします。

SELECT * FROM Locations
GROUP BY Branch
于 2013-05-22T13:45:16.880 に答える