仕事で困っています、
なにとぞお力添えを。
テーブル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句が無いんですけどいいんですか?> ぜんぜんよくありませんでした(苦笑)。 ああ、そんなことかぁ・・・ でも、ぜんぜん気が付かなかったです、はい。 プログラマ失格ですね、僕。ははは。 とにかく、ほんと助かりました。 40点ぐらい差し上げたいですが20点で勘弁してください。 では。また機会があれば宜しくお願い致します。