我有两个表,我希望从这些表中将这些行集中起来。
表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/

10-09 01:28