内部和左侧连接在同一个表上

时间:2012-09-05 15:10:21

标签: sql

我有两个表(A和B),共有两列(x和y)。我想在x上内连接A和B,但只保留A列y的值(左连接)。我正在寻找一种结合两个y列的方法(不能只在select语句中指定A.y)。我怎么能这样做?

实施例

表A

x  y
1  2
3  4
5  6
7  8

表B

x  y
1  2
3  8
9  null
11 0

我希望结果表看起来像

x  y
1  2
3  4

3 个答案:

答案 0 :(得分:1)

select a.x, a.y
from TableA a
inner join TableB b on a.x = b.x

答案 1 :(得分:0)

你的意思是:

SELECT *
FROM A
INNER JOIN B b1 ON A.x = b1.x
LEFT JOIN B b2 ON a.y = b2.y

答案 2 :(得分:0)

看看SQL exclude a column using SELECT * [except columnA] FROM tableA?第二个答案。不是最好的解决方案,但您可以将其用作解决方法。通常,您应该明确指定列的完整列表。