我有两个表,我希望行集合在一起。 表a是这样的
id a_name image category
1 name1 image1.png cate1
2 name2 image2.png cate2
3 name3 image3.png cate3
4 name4 image4.png cate3
5 name5 image5.png cate1
6 name6 image6.png cate2
7 name7 image7.png cate3
8 name8 image8.png cate1
和这样的表格b(a_id是上表中任何一行的id)
id user_id a_id email amount code active
1 123 2 s@s 23 23ke 1
2 542 1 s@s 23 23ke 1
3 523 2 s@s 23 23ke 1
4 423 6 s@s 23 23ke 1
5 103 5 s@s 23 23ke 1
6 523 5 s@s 23 23ke 0
我希望以这样一种方式连接两个表:每当我运行查询时,它应该返回与表B连接的表A的所有行。我已经使用了连接但它只获得了成功应用连接的行。从表b中提取的行也应该是user_id。 例如: 如果iam用user_id = 523搜索用户的数据。然后它应该输出以下。 (id字段来自表a)
id a_name image user_id email amount code active
1 name1 image1.png - - - - -
2 name2 image2.png 523 s@s s@s 23KE 1
3 name3 image3.png - - - - -
4 name4 image4.png - - - - -
5 name5 image5.png 523 s@s 23 23KE 0
6 name6 image6.png - - - - -
7 name7 image7.png - - - - -
8 name8 image8.png - - - - -
我正在使用mysql。
答案 0 :(得分:2)
您必须使用外部加入,
SELECT * from a LEFT OUTER JOIN b ON a.id = b.a_id AND b.user_id = 523
答案 1 :(得分:1)
您似乎想要left join
select a.*, b.*
from a left join
b
on a.id = b.a_id and b.user_id = 523;