MS SQL Server 総合スレ

このエントリーをはてなブックマークに追加
183NAME IS NULL
select 〜 from TABLE order by ID

ID
------
1
3
2
5
4
6
------------------------
order by でならべかえられたレコードセットのうち
3〜5のIDだけのレコードセットを取り出すにはどのようなSQL文を書いてから
rs.open sql,conn,3,3
などとやればいいんですか?
いつも3〜5を抜き出すわけではないので、x〜yを抜き出すSQL文で任意の範囲のレコードセットを取得したいです。
184NAME IS NULL:03/11/04 11:44 ID:???
where (ID => 3 and ID <= 5)
185NAME IS NULL:03/11/04 11:45 ID:???
where (ID => 3 and ID <= 5)
186183:03/11/04 23:16 ID:???
ちょっと言い方間違ってました。
order byでならべたレコードセットのx番目からx+1番目、x+2番目までの3個取り出したいです。
187NAME IS NULL:03/11/05 00:34 ID:???
となるとopenした後にmovenextの回数とxを比較していくしかないのでわ(;´Д`)
188183:03/11/05 01:00 ID:???
>>187
わたしもそれがおもいついてたのですが、
ASPにはDoeventに相当するメソッドがないみたいなのではげしくrs.movenextをしたくないなあとおもってたところだったのです。
SQLにはTOPキーワードしかないようですし。
結局movenextで最初の数レコードをスルーして目的のレコードを操作することになるようです。
189NAME IS NULL:03/11/05 01:38 ID:SZeIyv6y
mdfからのDB復旧方法についてご存知のかた,教えてください
190NAME IS NULL:03/11/05 20:39 ID:???
191NAME IS NULL:03/11/06 03:53 ID:???
>>183
orderした結果に順位をつけるクエリーはチラホラ見るから
それの応用でできるのでは?

あとはoederした結果をidentityつきのtemp tableに放り込むくらいか
192183:03/11/06 20:07 ID:???
>>191
むぅそうですか。
193NAME IS NULL:03/11/07 16:59 ID:vIZH227m
SQL鯖2KでDB設計しております。
Oracle用としてはObjectBrowserなんかがありますが、SQL鯖に対応しているモデリングツールって無いでしょうか?
194NAME IS NULL:03/11/08 02:16 ID:???
>>183
IDが一意ならこんな感じ?

select A.ID
from TABLE as A
where (SELECT COUNT(*) from TABLE B WHERE B.ID <= A.ID) BETWEEN X AND X+3
order by A.ID