2017-12-04 4 views
0

enter image description here連合テーブルにカスタム列を追加する - OracleのSQL

私は、Oracle Database内の2つの異なるテーブル間で、以下の労働組合を扱っています。

最初のクエリは、payer_noの現在の艦隊の一部である船舶を指します。 2番目のクエリは、ある時点で取引されたすべての船舶を指します。

項目はのみ最初のクエリでは表示された場合、私は「現在の艦隊」と2番目のクエリの項目のみ表示された場合は言うカスタム列をしたい、私は「過去の艦隊を言うコラムをしたいです。 "

enter image description here

+0

「UNION」の両方のメンバーにアイテム(その意味を問わない)が表示されるのはどうでしょうか? (別のノートで - とにかく 'UNION'が途切れていて、メンバーが重複する行を持たないか、重複している行があるかどうか気にしない場合は特に' UNION'の代わりに 'UNION'を使用してくださいパフォーマンス)。 – mathguy

+0

アイテムが両方に表示される場合は、最初のクエリ(「現在のフリート」)にタグを付ける必要があります –

答えて

1

「の項目は」UNIONの両方のメンバーに表示された場合にどうすべきかを明確に保留:

あなたが必要なものを行うための通常の方法を

出力は次のようになります。ハードコーディングされた値を持ち、同じ名前の列を共用体の両方のメンバに追加することです。片方または両方のメンバーが結合の結果であるかどうか、または他の単純または複雑な計算が行われているかどうかは関係ありません。

select col_1, col_2, ... , col_n, 'Current Fleet' as status 
from (big join or whatever here; do prefix columns with table aliases in a join!) 
UNION -- Or UNION ALL ! 
select col_1, col_2, ... , col_n, 'Past Fleet' as status 
from ......... 
関連する問題