1

昇順で行のセットを取得できます。私が持っている列は、アーティスト名、アクションの日付、都市名です。クエリは次のようになります。

SELECT T_Action.Artist,
   T_ActionDates.ActionDate,
   T_City.Name
FROM   T_Action
   INNER JOIN T_ActionDates
        ON  T_Action.ID = T_ActionDates.ActionID
   INNER JOIN T_ActionPlace
        ON  T_Action.ActionPlaceID = T_ActionPlace.ID
   INNER JOIN T_City
        ON  T_ActionPlace.CityID = T_City.ID
WHERE  T_Action.ETicketEnabled = 1
   AND T_ActionDates.ActionDate >= GETDATE()
ORDER BY
   T_ActionDates.ActionDate

この一連の行を ASP.NET リピータ コントロールに表示する必要がありますが、時間で並べ替え、特定の都市別にグループ化する必要があります。例えば:

都市 1:

2013-01-01, Action1

2013-01-02, Action2

都市 2:

2013-02-01, Action1

2013-02-02, Action2

2013-02-03, Action3

等々。

SQL で直接行うことはできますか、それともコード ビハインドを使用してデータを配置する必要がありますか? 推奨される方法は、SQL を使用することです。

4

1 に答える 1

3

結果を都市別に並べ替えてから、自分で反復処理する必要があります。だからあなたORDER BYはそうORDER BY T_City.Name, T_ActionDates.ActionDateです。次に、それらを自分でインテリジェントに反復処理して、グループ化を表示する必要があります。

SQL は、セット構造を持つクエリごとに 1 つの結果セットを返します (つまり、事前に列を認識し、行データを計算します)。マスター/ディテール行などは行いません。それはあなた次第です。

于 2013-09-17T12:32:15.693 に答える