![](/img/trans.png)
[英]How to (spatial) JOIN many tables to each row of another BigQuery table?
[英]Compare 2 tables and update final table with the row which has max value Bigquery
我有兩個表TableA和Final_Table
表A
ID Step1 Step2 Step3 Step4
1 1 1 0 0 --Update Final_table for Id1 with these values as more steps have 1
2 1 1 1 0
3 1 1 1 1 --Since 3 doesn't exist in Final table insert row in final table
決賽桌
ID Step1 Step2 Step3 Step4
1 1 0 0 0
2 1 1 1 1 --Keep this as more steps have 1 in it
4 0 0 0 0 --since Id4 doesn't exist in Table
運行查詢后,我希望 final_table 如下所示
決賽桌
ID Step1 Step2 Step3 Step4
1 1 1 0 0
2 1 1 1 1
3 1 1 1 1
4 0 0 0 0
每當兩個表中都存在 Id 時,我想用最大步長為 1 的數據更新 Final_Table。我將不勝感激任何幫助!提前致謝
我使用 Merge 和 Update 來解決我的問題 - 它的工作就像一個魅力。 我在 Final_Table 中創建了所有步驟的 sumT 列。 可能會幫助某人
第一個查詢:
MERGE final_Table T
USING (SELECT id, SUM(of all columns) AS sumA
FROM TableA
GROUP BY Id FROM TableA) S ON T.id = S.id
WHEN MATCHED THEN
UPDATE SET sum = greatest(sumA, sumT)
WHEN NOT MATCHED THEN
INSERT (id, sumT) VALUES (id,sumA)
第二個查詢:
UPDATE Final_Table AS 1 OR 0 depending on SumT
希望能幫助到你!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.