Sql: объединить 2 таблицы без общего поля - PullRequest
0 голосов
/ 19 марта 2020

Hihi,

У меня есть 2 таблицы, которые не имеют общего поля, но имеют аналогичное поле и должны быть объединены. В основном мне нужно проверить сумму транзакции в течение нескольких периодов кампании

например,

Таблица 1:

Campaign Name Campaign start time Campaign end time
A             2020-01-02          2020-01-04
B             2020-01-03          2020-01-04
C             2020-01-03          2020-01-09

Таблица 2:

Date       Transaction ID Amount Items
2020-01-03 11             $25    3
2020-01-03 22             $24    5
2020-01-04 33             $23    1
2020-01-02 44             $22    3
2020-01-09 55             $21    3

Мне нужно сложить всю сумму транзакции, между которой находится дата их транзакции дата кампании.

ожидаемый результат:

Campaign Name Start time End time   Amount
A             2020-01-02 2020-01-04 22+23+24+25
B             2020-01-03 2020-01-04 25+24+23
C             2020-01-03 2020-01-09 25+24+23+21

1 Ответ

1 голос
/ 19 марта 2020

Вы можете попробовать (вы также можете использовать сравнение):

SELECT 
    c.name,c.start,c.end, sum(t.amount) 
FROM c 
INNER JOIN t ON t.date BETWEEN c.start AND c.end 
GROUP BY (c.name)

Редактировать: Как упомянул @Akina между, хорошо поддерживается.

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