2016-06-01 12 views
0

私はSQL開発者(TABLE、TABLE1、TABLE2、TABLE3)に4つのテーブルを持っており、この4つのテーブルのいずれか(例えばTIE = 100)に特定の値が存在するかどうかを知りたいと思います。4つのテーブルでどのように値を見つけることができますか?

4つのテーブルは、「TIE」列と同じ構造になっています。

私は、TIE値は、私は、SQLでこれを書いた100

に等しいテーブルに知っていただきたいと思いますが、それは動作しません:

SELECT TIE , 
    instr 
FROM 
    (SELECT TABLE1.TIE, 
    'terre' instr 
    FROM TABLE, 
    TABLE1 
) 
UNION 
    (SELECT TABLE2.TIE, 
    'air' instr 
    FROM TABLE, 
    TABLE2 
) 
UNION 
    (SELECT TABLE3.TIE, 
    'mer' instr 
    FROM TABLE, 
    TABLE3 
) 
WHERE TIE = '100'; 

任意の助けいただければ幸いです。.. 。

+1

UNIONを使用すると、適切なアイデアが得られます。しかし、第4のセクションを組み込む代わりに、 'TABLE'と各ポイントの他の3つのテーブルをクロスジョインすることで何を達成しようとしていますか?また、質問するとき、「うまくいかない」ということを定義するのは理にかなっていませんか? – Bridge

+0

私はいくつかの結果を持っている "どこで"条件を削除する場合、私のテーブルによると、私は1つを持っている必要があります。 「WHERE」条件が機能していません。 – Manimalis

答えて

1

が必要な結果を与えるかもしれない: -

select TIE,instr 
from 
(
SELECT TIE,'terre' instr 
FROM TABLE 

UNION 

SELECT TIE,'terre' instr 
FROM TABLE1 

UNION 

SELECT TIE, 'air' instr 
FROM TABLE2 

UNION 

SELECT TIE,'mer' instr 
FROM TABLE3 

) A where TIE=100 
+0

ThnakあなたRagesh! – Manimalis

+0

あなたは大歓迎です:) – Ragesh

+0

これは正しくありません。あなたは 'TABLE1'を2回使い、' TABLE'は省略します。私はそれがちょうどタイプミスだったと確信していますので編集します。 – Bridge

0

試してみてください。

クエリ以下
SELECT TIE , 'terre' instr 
FROM TABLE 
WHERE TIE = '100' 
UNION 
SELECT TIE , 'terre' instr 
FROM TABLE1 
WHERE TIE = '100' 
UNION 
SELECT TIE, 'air' instr 
FROM TABLE2 
WHERE TIE = '100'; 
UNION 
SELECT TIE, 'mer' instr 
FROM TABLE3 
WHERE TIE = '100'; 
関連する問題