解決済み

SQL得意な方

  • すぐに回答を!
  • 質問No.299765
  • 閲覧数173
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 89% (60/67)

仕事で困っています、
なにとぞお力添えを。

テーブル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 (~)の部分がまったく働いていない]

どうしてなのでしょう?。
解りにくい質問で大変申し訳ないのですが
どなたかご教授いただけないでしょうか。

質問者が選んだベストアンサー

  • 回答No.1

ベストアンサー率 65% (1020/1553)

サブクエリー側にwhere句が無いんですけどいいんですか?
お礼コメント
TTU006

お礼率 89% (60/67)

返答ありがとうございます。

<サブクエリー側にwhere句が無いんですけどいいんですか?>

ぜんぜんよくありませんでした(苦笑)。
ああ、そんなことかぁ・・・
でも、ぜんぜん気が付かなかったです、はい。
プログラマ失格ですね、僕。ははは。

とにかく、ほんと助かりました。
40点ぐらい差し上げたいですが20点で勘弁してください。
では。また機会があれば宜しくお願い致します。
投稿日時 - 2002-06-25 14:38:23
Be MORE 7・12 OK-チップでイイコトはじまる
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


より良い社会へ。感謝経済プロジェクト始動

ピックアップ

ページ先頭へ