Slide 38
Slide 38 text
→
!37
MERGE dataset.master T
USING (
SELECT * EXCEPT(rn)
FROM (
SELECT
*,
row_number() over (PARTITION BY id ORDER BY updated_at DESC) AS rn
FROM dataset.diff)
WHERE rn = 1
) S
ON T.id = S.id
WHEN MATCHED AND T.updated_at < S.updated_at THEN
UPDATE SET id = S.id, ..., updated_at = S.updated_at
WHEN NOT MATCHED THEN
INSERT (id, ..., updated_at) VALUES (id, ..., updated_at)