我有两个表,我希望从这些表中将这些行集中起来。
表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
我想以这样一种方式联接两个表,以便每当我运行查询时,它都应返回表A与表B联接的所有行。从表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。
最佳答案
您必须使用外部联接,
SELECT * from a LEFT OUTER JOIN b ON a.id = b.a_id AND b.user_id = 523
关于mysql - 从两个表中共同获取数据,并从表A中获取所有行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38863044/