У меня есть таблица с 92k записями только с одним столбцом, содержащая заметки о потенциальных клиентах.
У меня есть еще одна таблица с 32-тысячными записями с тремя телефонными столбцами и одним столбцом электронной почты.
Я хочу запросить записи 92k, чтобы узнать, содержат ли они какие-либо числа или электронные письма, затем объединить все эти записи и установить эту объединенную строку в качестве значения столбца Notes таблицы 32k.
Я создал электронную таблицу, которая будет работать, но она обрабатывается часами и находится на полпути.
введите описание изображения здесь
=IFERROR(ifs(
not(isblank(H30627)),Join(char(10),QUERY(Tasks!A:A,"SELECT A Where A
Contains '"&H30627&"'",0)),
not(isblank(F30627)),Join(char(10),QUERY(Tasks!A:A,"SELECT A Where A
Contains '"&F30627&"'",0)),
not(isblank(E30627)),JOIN(char(10),QUERY(Tasks!A:A,"SELECT A Where A
Contains '"&E30627&"'",0)),
not(isblank(D30627)),Join(char(10),QUERY(Tasks!A:A,"SELECT A Where A
Contains '"&D30627&"'",0))),"")
Я чувствовал, что Bigquery сэкономит много времени, но я нуб SQL, и это возвращает ошибку внешнего левого соединения без STRING_AGG и 0 измененных строк с ним.
#standardSQL
UPDATE sfdc.workingFin
SET Notes = (SELECT STRING_AGG(string_field_0) from sfdc.tasks where
string_field_0 LIKE (SELECT Email from sfdc.workingFin))
WHERE TRUE