У меня очень простой запрос следующим образом.
drop table if exists table1;
create table table1
select
account,
campaign_id,
customer_id,
type,
min(date) as date_min
from table2
where account in ('1','2') and campaign_id not in ('1','2','3')
group by account, campaign_id,customer_id,type;
Однако, каждый раз, когда я запускаю это, я получаю это сообщение об ошибке, говорящее, что «java.io.IOException: соединение закрыто удаленным хостом». Я считаю, что это потому, что данные слишком велики.
Кто-то предложил мне зациклить операторы «вставлять в» и добавлять данные по частям в пустую таблицу.
Итак, я пытался добавлять данные год за годом. Код ниже только на 1 год. Мне нужно вставить в несколько раз.
insert into loop_dk (account, campaign_id, customer_id, type, date_min)
select account,
campaign_id,
customer_id,
type,
min(date) as date_min
from dk
where account in ('1', '2')
and campaign_id not in ('1', '2', '3') and date between '2016-11-29' and '2017-11-29'
group by account, campaign_id, customer_id, type;
Может кто-нибудь сказать мне, если это хорошо, чтобы циклически вставить операторы «вставить в» или предложить мне другие решения, которые могут предотвратить вышеупомянутое сообщение об ошибке?
Большое спасибо за вашу помощь!