MySQL: объединить две таблицы, некоторые столбцы разные - PullRequest
0 голосов
/ 23 января 2019

Я хочу объединить две таблицы sql. Требования:

  • столбцы game_data1: install_date, source, installs, расходы, CPI
  • game_data2 столбцы: install_date, purchase_date, источник, доход
  • объединенная таблица (хочу вот так): дата_установки, источник, установки, расходы, ИПЦ, дата покупки, доход

я уже прочитал другие ответы SO, такие как 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 (таблица 1, в которую я хочу объединить)

enter image description here

game_data2 (таблица 2, в которую я хочу объединить)

enter image description here

Я уже написал функцию для изменения формата даты, поэтому не обращайте внимания на формат даты

Результат

+--------------+----------+----------+----------+----------+--------------+---------------+----------+---------+
| 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 и source были одним столбцом, а не двумя отдельными столбцами

, если кто-то хочет получить помощь, я нахожу полезным обратиться за помощью, но не могу понять это правильно: Ссылка

любая помощь будет оценена

Ответы [ 2 ]

0 голосов
/ 23 января 2019

вам нужно только указать 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;
0 голосов
/ 23 января 2019

ВЫБРАТЬ s.install_date, s.source, s.installs, s.Spending, s.CPI, r.purchase_date, r.source, r.revenue

ИЗ game_data как s

INNER JOIN game_data2 при r ON r.install_date = s.install_date AND r.source = s.source

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...