- PR -

SELECT文の複合条件?設定の方法について

投稿者投稿内容
RedMania
会議室デビュー日: 2005/01/26
投稿数: 3
投稿日時: 2005-01-26 13:41
>書き込んでくださった皆様(略してすみません)

とりあえず、解決いたしました。

SELECT calumu_A,calumu_B,calumu_C FROM TABLE_NAME
WHERE
(calumu_A <> 0) AND (NOT (calumu_A = 1 AND calumu_B = 0))

で、思った通りのレコードが取得できました。
皆様、本当にありがとうございました。
しかし、副問い合わせと言う方法もあったのですね。
すっかり忘れてました。

それと、説明が下手と言うよりは文章力が乏しく申し訳ございません。
calumu_CについてはA,B,CでPKとしている為、PKまでの列をあらわした次第です。



しかし、疑問に思ったのはSQLServer上で実行すると下記のように置換されます。

SELECT calumu_A,calumu_B,calumu_C FROM TABLE_NAME
WHERE
(calumu_A <> 0) AND (NOT (calumu_A = 1))
OR (calumu_A <> 0) AND (NOT (calumu_B = 0))

意味合いは同じだと思うのですが、まどろっこしいような感じがします。
置換するぐらいですから、構文的にはこの方がいいのでしょうか。

もっとSQLについて勉強します。
NAO
ぬし
会議室デビュー日: 2001/10/24
投稿数: 1256
お住まい・勤務地: 神奈川のはずれから東京の下町
投稿日時: 2005-01-26 13:52
今日は。

私が書いた方法でも、RedManiaさんの方法でも、SQLサーバが出力した物でも
どれでも良いと思いますよ。

後はどういった用途で使われているかにもよりますが、
商用として使っているならばレスポンスとかで決めれば良いかと。
_________________
Inspired Ambitious
ISMS Assistant Auditor

スキルアップ/キャリアアップ(JOB@IT)