質問: sql得意な方 仕事で困っています、 なにとぞお力添えを。 テーブル1から、top50 でaとbを表示させたいのです。 で、その際の条件として、 開始するレコードも指定したいのです。 下記sqlの[○]の部分に50が入っていたら、 51~100件を表示する、と、いうような。 select top 50 a,b from テーブル1 where c='1' and a >= '' and a not in ( select top 〇 a from テーブル1) order by a で、順調だったのですが、where条件が なんだか怪しいらしく、 a >= ''の時だけはきちんと動くのですが、 andでc='1'をつけた所、普通に全件表示されてしまいます。 [ちゃんと51件目から100件目を表示するsql] select top 50 a,b from テーブル1 where a >= '' and a not in ( select top 〇 a from テーブル1) order by a [何故か全件表示になるsql] select top 50 a,b from テーブル1 where c='1' and a >= '' and a not in ( select top 〇 a from テーブル1) order by a ※[何故かnot in (~)の部分がまったく働いていない] どうしてなのでしょう?。 解りにくい質問で大変申し訳ないのですが どなたかご教授いただけないでしょうか。
回答: サブクエリー側にwhere句が無いんですけどいいんですか?