phpmyadmin mySQL查询连接

时间:2016-02-09 19:07:57

标签: mysql sql join

我有一张表A -

SNo     ID     Place
1      1000    Null
2      Null    Null
3      1020    CityX

另一张表B -

 ID     Place
1000    CityY
2000    CityZ
4040    CityAA

现在,我需要连接表A和B,以便我可以从表B中获取表A中Place的值。所以我的最终表应该是这样的 -

SNo     ID     Place
1      1000    CityY
2      1020    CityX

我尝试使用连接创建SQL查询,但这只是给我空行。我做了 -

Select * from A
left outer join B
on A.ID = B.ID
where A.ID IS NOT NULL

我的查询在哪里打破?我如何得到预期的结果?

4 个答案:

答案 0 :(得分:0)

似乎你需要内部联接

Select A.ID,  ifnull(A.Place, B.Place) from A
Inner join B
on A.ID = B.ID
where A.ID IS NOT NULL

答案 1 :(得分:0)

Select A.Sno, A.ID, IF(A.Place is null, B.Place, A.place) as Place from A
left join B
on A.ID = B.ID
where A.ID IS NOT NULL

答案 2 :(得分:0)

从技术上讲,您的查询没有任何问题,这是您问题的工作方式

http://sqlfiddle.com/#!9/29a002/1/0

由于您没有发布实际的架构或屏幕截图,我将怀疑列表定义不兼容或数据无效

答案 3 :(得分:0)

您可以像这样选择表 B 的 Place 字段。

select SNo, B.ID, B.Place 
from A
left outer join B
on A.ID = B.ID