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
值,其中没有可用的点值 - 而不是 -
,这是一个字符串,因此需要数据类型转换。
我需要你的帮助
我在这个网站上搜索过同样的问题,但没有找到。
所以,我有几个 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
值,其中没有可用的点值 - 而不是 -
,这是一个字符串,因此需要数据类型转换。