【发布时间】:2010-08-10 09:38:02
【问题描述】:
我有两张这样的桌子。
表1
Column | Type |
---------+------------------+
cod | text |
value99 | double precision |
表2
Column | Type |
---------+------------------+
cod | text |
value06 | double precision |
我想加入他们,所以我有类似的东西
Column | Type |
---------+------------------+
cod | text |
value99 | double precision |
value06 | double precision |
问题在于并非所有代码都存在于两个表中,因此如果代码不存在于其中一个表中,则它的值应该为空。最后我想要这样的东西
cod | value99 | value06 |
---------+------------------+------------------+
1 | 10 | 20 |
2 | 13 | NULL |
3 | NULL | 15 |
我认为它不可能使用 LEFT 或 RIGHT JOIN.. 或者它可能是......任何想法?谢谢=)
编辑: 我尝试了 FULL OUTER JOIN 但结果类似于
code value code value
1 10 1 4
2 15 NULL NULL
NULL NULL 3 36
回答!!!: 我找到了@Tobiasopdenbrouw 的答案:
SELECT test1.code,test1.value,test2.value FROM public.test1 LEFT OUTER JOIN public.test2 ON test1.code=test2.code
UNION
SELECT test2.code,test1.value,test2.value FROM public.test1 RIGHT OUTER JOIN public.test2 ON test1.code=test2.code
【问题讨论】:
标签: sql outer-join