php mysql 连接两个表以连接某些列并合并某些列

php mysql join two tables to join some column and union some column

我需要你的帮助

我在这个网站上搜索过同样的问题,但没有找到。

所以,我有几个 table。

例如:

table male:

+------+------+------------+--------+
|  id  | name |    date    |  point |
+-----------------------------------+
|  32  | john | 2017-20-01 |  5000  |
|  47  | mike | 2019-08-02 |  2000  |
|  49  | luiz | 2019-01-02 |  2700  |
+-----------------------------------+

table female:

+------+------+------------+--------+
|  id  | name |    date    |  point |
+-----------------------------------+
|  12  | lisa | 2018-03-05 |  3000  |
|  16  | jane | 2018-08-22 |  2000  |
|  49  | Sisi | 2018-12-30 |  2000  |
+-----------------------------------+

我想加入上面的两个table是:

+------+------+------------+-----------+--------------+
|  id  | name |    date    | male-pont | female-point |
+--------------------------------------+--------------+
|  32  | john | 2017-20-01 |    5000   |      -       |
|  47  | mike | 2019-08-02 |    2000   |      -       |
|  49  | luiz | 2019-01-02 |    2700   |      -       |
|  12  | lisa | 2018-03-05 |     -     |     3000     |
|  16  | jane | 2018-08-22 |     -     |     2000     |
|  49  | Sisi | 2018-12-30 |     -     |     2000     |
+------+------+------------+-----------+--------------+

怎么做? 请帮助我...

您可以使用 union all。您只需要调整点列:

select id, name, date, point male_point, null female_point from table_male
union all
select id, name, date, null, point from table_female

请注意,这为您提供了一个 null 值,其中没有可用的点值 - 而不是 -,这是一个字符串,因此需要数据类型转换。