0

我有两张桌子 A 和 B。

表 A 有xy列,B 有xz列。

表 A

X       y
---------
aa      1
bb      2
cc      3
dd      4

表 B

x    z
------
aa   5
ee   6
dd   7
ff   8

我想要的结果是这样的:

结果

x      y       z
----------------
aa     1       5
bb     2       
cc     3    
dd     4       7
ee             6
ff             8

你能帮忙解决这个问题吗?

4

3 回答 3

4

如果您使用的是 SQL Server,请尝试以下操作:

Select COALESCE(A.x,B.x),Y,Z 
FROM TableA A FULL OUTER JOIN TableB B
ON A.X = B.X

看到这个 SQLFiddle

如果您使用的是 MySQL,请尝试以下操作:

Select COALESCE(A.X,B.X),Y,Z from TableA A 
Left join TableB B on A.X = B.X
UNION
Select COALESCE(A.X,B.X),Y,Z from TableA A 
RIGHT join TableB B on A.X = B.X

看到这个 SQLFiddle

于 2012-08-16T09:39:35.500 回答
1

尝试这个:

select COALESCE(A.x,B.x),y,z
 from TableA A full outer join tableB B
on A.X=B.X


SQL Fiddle 演示

于 2012-08-16T09:39:47.967 回答
0

您可能需要在键 X 上连接表 A 和 B。

Select A.X, A.Y, B.Z From A full outer join B on A.X = B.X

阅读更多关于 SQL 连接的信息:http ://en.wikipedia.org/wiki/Join_%28SQL%29 。

于 2012-08-16T09:41:16.827 回答