2016-12-17 3 views
0

に個別の列値の結果から、行を追加します。私はのように見える2つのテーブルを持っている(もちろん、以上の列で)次SQL:クエリ

+------+--------+ 
| Name | DeptID | 
+------+--------+ 
| John |  10 | 
| John |  22 | 
| John |  18 | 
+------+--------+ 

+------+--------+ 
| Name |ClientID| 
+------+--------+ 
| John |  5 | 
| John |  5 | 
| John |  5 | 
+------+--------+ 

私はそのように見えて結果を取得しようとしています:

+------+------+ 
| Name | Dept | 
+------+------+ 
| John | 5 | 
| John | 10 | 
| John | 22 | 
| John | 18 | 
+------+------+ 

しかし、私は一緒にClientIDとDEPTIDを組み合わせたユニークなIDのための追加の行を取得する方法をパズルのように見えることはできません。

私はCASEを使用してみました:

CASE 
    WHEN t1.DepID <> t2.ClientId 
    THEN t1.DepID 
    ELSE t2.ClientId 
END 

しかし、私は4

私はこれをどのように行うことができますを持ってしようとしているとき、私は3つの異なるID年​​代になってしまいましたか?

答えて

2

ダグラス!

UNION句を使用して、プロブレムを解決できます。

はそれを試してみてください。

SELECT name 
    , deptId 
    FROM from dept 
UNION 
SELECT name 
    , clientId 
    FROM client 
+0

FROM! –

-1

SELECT * DEPT UNION FROM SELECT *、私がまさに必要おかげだクライアント