我有两个表..我需要从左侧表中获取所有行,但只需要从右侧表中获取匹配的行..
Left table: tbl_BT
BT_Id Name
1 A
2 B
3 C
4 D
5 E
右表:tbl_Rc
Rc_ID Country BT_Id
1 Con1 1
2 Con2 2
3 Con3 5
结果表:
BT_Id Name Rc_Id Country
1 A 1 Con1
2 B 2 Con2
3 C - -
4 D - -
5 E 3 Con3
请帮我解决这个问题。
答案 0 :(得分:1)
所以你需要的是LEFT JOIN
:
SELECT bt.BT_Id as BT_Id,bt.Name as Name ,
IFNULL(rc.Rc_ID,"-") as Rc_Id,IFNULL(rc.Country,"-") as Country
FROM tbl_BT bt LEFT JOIN tbl_Rc rc
ON bt.BT_Id=rc.BT_Id
IFNULL()
以防你在右表上有空值,因此显示的是-
而不是null
答案 1 :(得分:1)
试试这个...
SELECT tbl_BT.BT_Id,Name,Rc_Id,Country from tbl_BT
left join tbl_Rc on tbl_BT.BT_Id = tbl_Rc.BT_Id