首先,請允許我為這個可能令人困惑的標題道歉。我剛剛開始我的資料分析師之旅。我正在BIGQUERY中處理一個極端風暴資料集(TABLE1),該資料集有LAT,LONG,和STATE欄位。緯度和經度欄位中有空值,我想用國家資訊資料集(TABLE2)中的一般緯度/長度值來替換,該資料集也包含LAT,LONG和STATE值。在TABLE1中,每條記錄都有一個唯一的EVENT_ID,有140萬條記錄。在TABLE2中,每個STATE都是一個唯一的記錄。
我試過:
Update TABLE1
SET TABLE1.BEGIN_LAT=TABLE2.latitude
從TABLE1
行內table2
on table1.state = table2.state
where table1.begin_lat is null
我得到了一個錯誤,因為TABLE1包含多條具有相同STATE的記錄,而我正試圖使用它作為我的主鍵。我知道我做錯了什么,但我不知道如何以正確的方式來做它。我想做的事在BigQuery中是否可行?
如果有任何幫助,我們將不勝感激。甚至是關于如何提問的建議! :)
謝謝你。
uj5u.com熱心網友回復:
我相信你在查詢中為更新中的TABLE1和來自中的TABLE1設定了一些別名。在這種情況下,你可以在WHERE子句中添加條件,以便與EVENT_ID匹配。像這樣:
UPDATE TABLE1 TABLE1_U
SET TABLE1_U.BEGIN_LAT=TABLE2.latitude
從table1 table1_f
內接table2
on table1_f.state = table2.state
where table1_u.begin_lat is null and table1_u.event_id = table1_f.event_id
另外,我希望做SELECT查詢,而不是更新,并將查詢結果保存到新表中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/331121.html
標籤:
上一篇:試圖改變變數值,但它永遠不會改變
下一篇:合并/合并/聯接兩個資料框架
