我想合并两个sql表要求是
- game_data1 列:安装日期、来源、安装次数、支出、CPI
- game_data2 列:安装日期、购买日期、来源、收入
- 合并表(像这样):安装日期、来源、安装次数、支出、CPI、购买日期、收入
我已经阅读了其他答案,例如 this ,所以通过阅读这些类型的答案,我提出了一个查询,即
SELECT s.install_date, s.source, s.installs, s.Spending, s.CPI, r.install_date, r.purchase_date, r.source, r.revenue
FROM game_data as s
JOIN game_data2 as r ON r.install_date = s.install_date AND r.source = s.source
它应该创建一个 install_date 列和一个源列,但它创建了两个单独的列,我不知道这有什么问题
game_data1(table1 which i want to merge)
game_data2(table2 which i want to merge)
我已经编写了一个更改日期格式的函数,所以不要介意日期格式
Result
+--------------+----------+----------+----------+----------+--------------+---------------+----------+---------+
| install_date | source | installs | Spending | CPI | install_date | purchase_date | source | revenue |
+--------------+----------+----------+----------+----------+--------------+---------------+----------+---------+
| 2015-03-01 | facebook | 10000 | 6000 | 0.6 | 2015-03-01 | 2015-03-01 | facebook | 600 |
| 2015-03-01 | facebook | 10000 | 6000 | 0.6 | 2015-03-01 | 2015-03-01 | facebook | 600 |
| 2015-03-01 | facebook | 10000 | 6000 | 0.6 | 2015-03-01 | 2015-03-02 | facebook | 550 |
| 2015-03-01 | facebook | 10000 | 6000 | 0.6 | 2015-03-01 | 2015-03-02 | facebook | 550 |
| 2015-03-01 | facebook | 10000 | 6000 | 0.6 | 2015-03-01 | 2015-03-03 | facebook | 500 |
| 2015-03-01 | facebook | 10000 | 6000 | 0.6 | 2015-03-01 | 2015-03-03 | facebook | 500 |
| 2015-03-01 | facebook | 10000 | 6000 | 0.6 | 2015-03-01 | 2015-03-04 | facebook | 450 |
我想按原样合并这些表,但我希望 install_date 和源应该是一列而不是两列
如果有人想寻求帮助,我发现寻求帮助很有用,但无法正确理解:Link
如有任何帮助,我们将不胜感激
最佳答案
您只需在查询中指定install_date
和source
一次
SELECT
s.install_date,
s.source,
s.installs,
s.Spending,
s.CPI,
r.purchase_date,
r.revenue
FROM
game_data AS s
JOIN
game_data2 AS r ON r.install_date = s.install_date
AND r.source = s.source;
关于MySQL:合并两个表,某些列不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54324711/