問題のタイトルが正しいかどうかわかりません。私は問題を説明します。状態に基づくPostgreSQLの結果
私は、SQLクエリを持っている:
SELECT * FROM table WHERE condidtion_1 or condition_2;
テーブルはcondition_1
またはcondition_2
を一致させることができる要素を持っています。
- は要素が
condition_1
と一致するならば、我々は唯一の要素ことを返すとcondition_1
と一致していないならば、我々は一致するだけで、その要素を返すcondition_2
に一致する要素をチェックしません:それはそれを何らかの方法で可能です
condition_2
condition_1
とcondition_2
と一致していないならば、何も(通常の方法)
ありがとうございました。
EDIT
ゴードンの答えはそのような何かをテストするために私にインスピレーションを与え、それは[OK]を働いているように見えますが、おそらくいくつかの他のより明確な解決策?
SELECT * FROM table WHERE (condition_1 AND NOT condition_2) OR (NOT condition_1 AND condition_2);
条件の結果を比較してください。なぜこれは通常のORと違うのですか?要素 - レコードという意味はどういう意味ですか?または列?いくつかのサンプルレコードと希望の結果を投稿できますか? – mlinth
ORは、条件1または条件2と一致する行を返します。私の更新を探してください。私はすべてを明確にすると思います。 – Robert
ああ、「排他的OR」を意味する。あなたの答えはうまくいきますが、最初の "OR"ステートメントの前後に角括弧を入れてもゴードンのものはそうです。 – mlinth