Заполнение столбца с аналогичными значениями в SQL - PullRequest
0 голосов
/ 23 января 2020

Я новичок по стандарту SQL

Мой стол:

enter image description here

Мне нужна ваша помощь, чтобы получить transactionId дублируется в каждой строке вместо пробела.

enter image description here

Мой запрос:

SELECT
    hits.transaction.transactionId,

    ARRAY(
      SELECT DISTINCT AS STRUCT
       v2ProductName AS name,
       SPLIT(v2ProductCategory, '/')[safe_offset(0)] AS axis,
       SPLIT(v2ProductCategory, '/')[safe_offset(1)] AS category,
       SPLIT(v2ProductCategory, '/')[safe_offset(2)] AS subCategory,
       productQuantity AS quantity,
       productPrice as price,
       productSKU AS sku
      FROM
        hits.product
    )AS products,

FROM
    `dl-recommendation-engine.NDA_CHANEL_137002018.ga_sessions_*` as session, 
    UNNEST(hits) AS hits
    WHERE
    _TABLE_SUFFIX BETWEEN '20191122' AND '20191202'
    AND
    hits.transaction.transactionId IS NOT NULL
    AND 
    (SELECT cd.value  FROM hits.customDimensions as cd WHERE cd.index = 10) = "fr_FR"

1 Ответ

1 голос
/ 23 января 2020

У вас уже есть transactionId в каждой строке. Ваш запрос генерирует строки, где каждая строка имеет transactionId и некоторый массив. BigQuery GUI просто форматирует элементы массива для разделения строк. Возможно, вы захотите объединить продукты непосредственно в предложении from, тогда вы получите по одной строке для каждого продукта, с transactionId из hit.

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