从左表SQL Server的单条记录联接

时间:2019-01-29 08:22:29

标签: sql sql-server

我有下表:

左表

DATE       |ID  |Cust_id    |TYPE
2018/08/15 |1   |   25      |LN    
2018/08/15 |1   |   81      |LN  

右边的桌子

DATE       |Cust_id |TYPE   |status
2018/08/15 | 86     |LN     |T

我想保留左侧表中的所有记录,而仅从右侧表中引入status字段:

期望的结果如下:

DATE       |ID  |Cust_id    |TYPE   |Status
2018/08/15 |1   |25         |LN     |1
2018/08/15 |1   |81         |LN     |null

问题在于Cust_id在右表上变得不同,从而使联接很难从左联接连接到正确的记录上。

2 个答案:

答案 0 :(得分:0)

select left.*,right.status from left_table left
left join right_table right
on r.cust_id = left.cust_id

上面是在cust_id的基础上将两个表连接在一起,如果没有匹配的表,状态将始终为null。

在您的情况下,由于它没有任何关系,因此无法获得状态。除了要查看没有关系的视图之外,您还可以将两个表都连接起来,例如

SELECT * FROM left_table
UNION
SELECT status FROM right_table

答案 1 :(得分:-1)

select l.*,r.status from left_table l
left join right table r
on r.cust_id = l.cust_id

如果您的cust_id在不同的表上不能代表相同的信息,则您无法加入两个表