INSERT INTO를 사용하여 중첩된 데이터 필드 업데이트
final_subscription_test2
데이터 집합이 만들어진 후에는 INSERT INTO
문을 사용하여 테이블에 추가 데이터를 추가합니다. 데이터를 복사할 때에는 소스와 타겟의 데이터 유형이 일치해야 합니다. 또는 원본 데이터 형식이 대상 데이터 형식에 대해 CAST
이어야 합니다. 그런 다음 증분 데이터가 다음 SQL을 사용하여 대상 데이터 세트에 추가됩니다.
INSERT INTO final_subscription_test
SELECT struct(userid, collect_set(subscription) AS subscription) AS _lumaservices3 FROM(
SELECT user AS userid,
struct( last(eventtime) AS last_eventtime,
last(status) AS last_status,
offer_id,
subsid AS subscription_id)
AS subscription
FROM SELECT _lumaservices3.msftidentities.userid user
, _lumaservices3.subscription.subscription_id subsid
, _lumaservices3.subscription.subscription_status status
, _lumaservices3.subscription.offer_id offer_id
, TIMESTAMP eventtime
FROM
xbox_subscription_event
UNION
SELECT _lumaservices3.msftidentities.userid user
, _lumaservices3.subscription.subscription_id subsid
, _lumaservices3.subscription.subscription_status status
, _lumaservices3.subscription.offer_id offer_id
, timestamp eventtime
FROM
office365_subscription_event
)
GROUP BY user,subsid,offer_id
ORDER BY user ASC
) GROUP BY userid)