У меня есть таблица событий и журнал транзакций. И я хочу подсчитать общий доход каждого события на один sql. Может ли что-нибудь сказать, как это сделать.
, пожалуйста, будьте готовы, в таблице транзакций будет более 100 000 журналов.Используйте данные другой таблицы в postgreSQL
EVENT_TABLE:
Event_id | start_date | end_date
------------------------
11111 | 2013-01-04 | 2013-01-05
11112 | 2013-01-08 | 2013-01-10
11113 | 2013-01-11 | 2013-01-12
11114 | 2013-01-15 | 2013-01-18
11115 | 2013-01-19 | 2013-01-21
11116 | 2013-01-22 | 2013-01-24
11117 | 2013-01-26 | 2013-01-29
transaction_log:
id | name | time_created | Cost
------------------------
1 | michael | 2013-01-04 | 1
2 | michael | 2013-01-08 | 4
3 | mary | 2013-01-11 | 5
4 | john | 2013-01-15 | 2
5 | michael | 2013-01-19 | 3
6 | mary | 2013-01-22 | 2
7 | john | 2013-01-26 | 4
Я пытался использовать SQL как следующие, но он не работает.
select
event_table.id,
(select sum(Cost)
from transaction_log
where date(time_created) between transaction_log.start_date and transaction_log.end_date) as revenue
from event_table
Вам нужно, чтобы описать _how_, это не работает, что вы ожидали и так далее. – renemilk
Я собирался суммировать данные одного стола, используя период времени, заложенный в другой таблице. Я никогда не понимал, что могу использовать «join on (xx between xx)». Решено, спасибо! –