-2

データベースから取得するものに基づいて動的な番号付け列を作成する方法を教えてください。

元。

Table Reservations
|ReservationNo----ClientNo------DateAdded----DateModified|
|1             |    1        |   01-01-01  |  01-01-01 |  
|2             |    2        |   01-01-01  |  01-01-01 | 
|3             |    2        |   01-01-01  | 01-01-01  | 
|4             |    2        |   01-01-01  | 01-01-01  | 
|5             |    1        |   01-01-01  | 01-01-01  | 
|6             |    3        |   01-01-01  | 01-01-01  |              
|7             |    3        |   01-01-01  | 01-01-01  | 
|8             |    2        |   01-01-01  | 01-01-01  | 
|9             |    1        |   01-01-01  | 01-01-01  | 
|10            |    1        |   01-01-01  | 01-01-01  | 

以下のステートメントを実行すると...

SELECT * FROM Table WHERE ClientNo = '1'

結果 :

**Counter**-----ReservationNo----Client--------DateAdded----DateModified|
|1       |      1          |    1        |   01-01-01  |  01-01-01 |  
|2       |      5          |    1        |   01-01-01  | 01-01-01  | 
|3       |      9          |    1        |   01-01-01  | 01-01-01  | 
|4       |      10         |    1        |   01-01-01  | 01-01-01  | 
4

3 に答える 3

2

row_number()次の関数を使用できます。

select  row_number() over (order by ReservationNo) as Counter
,       *
from    YourTable
order by 
        ReservationNo
于 2013-02-16T19:28:45.233 に答える
1

ROW_NUMBER関数を検索しているようです。http://msdn.microsoft.com/de-de/library/ms186734.aspxを参照してください。

于 2013-02-16T19:30:55.827 に答える
1

各条件/クエリでフェッチするテーブルで使用可能な行の合計数が必要なようです。その場合、 COUNT(*) OVER() が要件を満たします。

SELECT ReservationNo ,ClientNo ,DateAdded ,DateModified ,COUNT(*) OVER() FROM Reservations 必要に応じて WHERE 条件

于 2013-02-16T19:47:37.117 に答える