私は select文が、両方ではないのいずれかに行が属する2つのselect
文、(すべての列が一致する場合)のすべての行を見つけたいです。オラクルMINUS両方の方法(選択の違いを取得)
私は、これは、fooは最初のselect文ではなく、周りの最後が、他のではない方法で、存在するすべての行を返す単一方向
select foo from foobar where bar = 1
minus
select foo from foobar where bar = 2;
でこれをで達成する方法を知っています。
私は望ましい結果を返す
(select foo from foobar where bar = 1
minus
select foo from foobar where bar = 2)
union
(select foo from foobar where bar = 2
minus
select foo from foobar where bar = 1);
を行うことができます知っています。しかし、これは多くの繰り返しです。両方の方法で動作するminus
のような演算子がありますか?
また、結果に識別子を追加して、それがどの選択項目に属するかを示したいと思います。しかし、これだけでは、すべての行が異なるようになります。
誤解を招くが、 'bar = 1'が' bar = 2'(または他の値)のレコードと暗黙的に区別されるレコードはありませんか?たぶん、より良い例で更新するべきでしょう。 –
私はすべての列を返すわけではありませんが、特定の列(バーに関係なく共通または異なる可能性があります) –
実際のサンプルデータをここに表示すると他の人に役立つかもしれません。スタックオーバーフローに関するSQLクエリーに関する質問には、数千語の価値があります。 –