4

私は3つのテーブルを持っています:

Table t1:     Table t2:     Table t3:     
+----+----+   +----+----+   +----+----+   
| i1 | i2 |   | i2 | c2 |   | i1 | c1 |   
+----+----+   +----+----+   +----+----+   
|  1 | 22 |   |  11| cc |   |  1 | e  |   
|  2 | 33 |   |  22| bb |   |  2 | f  |   
|  3 | 11 |   |  33| aa |   |  3 | g  |   
+----+----+   +----+----+   +----+----+   

列 i1 と i2 を持つテーブル t1 を使用して、t2 から列 c2 を選択し、t3 から c1 を選択すると、結果は薄いものになります。

requested Tabel:     
+----+----+   
| c1 | c2 |   
+----+----+   
|  e | bb |   
|  f | aa |   
|  g | cc |   
+----+----+   

私はこのようなユニオンで選択を行いました:

select pve.c1
from dbo.t3 as pve
join dbo.t1 as v
on pve.i1 = v.i1
union
select vse.c2
from dbo.t2 as vse
join dbo.t1 as e
on vse.i2 = e.i2

結果は次のとおりです。

resulted Tabel:     
+----+
| i1 |
+----+
|  e |
|  f |
|  g |
|  bb|
|  aa|
|  cc|
+----+

ありがとう!

4

2 に答える 2

6

これを試して、

SELECT  c.c1, b.c2
FROM    t1 a
            INNER JOIN t2 b
                on a.i2 = b.i2
            INNER JOIN t3 c
                on a.i1 = c.i1

SQLFiddle デモ

于 2012-08-21T08:43:30.870 に答える
3
SELECT c1, c2 FROM t1
JOIN t2 ON t1.i2=t2.i2
JOIN t3 ON t1.i1=t3.i1;
于 2012-08-21T08:44:30.670 に答える