Думаю, это довольно простой запрос, но я просто не могу заставить его работать.Решение пока не найдено.
У меня есть две таблицы с разными данными.Обе таблицы содержат идентификатор в виде строки, называемой clientID.
Таблица A имеет идентификатор и различные события и пользовательские измерения из всех сеансов Google Analytics.
SELECT
clientId,
visitNumber,
hits.page.pagePath AS pagePath,
trafficSource.source AS source,
--Events
SUM(CASE WHEN (hits.eventInfo.eventCategory = 'Download' AND hits.type =
'EVENT' AND hits.eventInfo.eventAction = 'pdf') THEN 1 ELSE 0 END) AS
Downloads,
SUM(CASE WHEN (hits.eventInfo.eventLabel = 'search-header' OR
hits.eventInfo.eventLabel = 'search-mainpage') AND hits.type = 'EVENT' THEN
1 ELSE 0 END) AS Search,
--CustomDimension
(SELECT MAX(cd.value) FROM UNNEST(hits.customDimensions) AS cd WHERE
cd.index = 1) AS realURL
FROM `xxxx.xxxx.ga_sessions_*` AS t, UNNEST(hits) AS hits
WHERE
hits.page.pagePath LIKE 'news-and-media' AND _TABLE_SUFFIX BETWEEN
FORMAT_DATE('%Y%m%d', date '2018-05-31') AND FORMAT_DATE('%Y%m%d', date
'2018-10-01')
GROUP BY
clientId,
visitNumber,
pagePath,
source,
realURL
LIMIT 100;
Таблица B имеет только один столбец с некоторыми идентификаторами клиента.Поэтому я хочу сопоставить / найти clientIDs в таблице A для clientIDs, которые находятся в таблице B .Мне нужны только данные из таблицы А., где идентификаторы совпадают.
Я использую здесь стандартный SQL.Есть мысли о том, как решить эту проблему?Думаю, я должен использовать JOIN здесь, но с этим не сталкивался.