[英]Scalar subquery produced more than one element
我在BigQuery上運行此查詢,但出現此錯誤:錯誤:標量子查詢產生了多個元素
我只是想將Resources_Usage表的Success字段更新為job_events表的字段。 我真的無法弄清楚查詢中出了什么問題。
UPDATE Task_Events.Resources_Usage
SET Success = t2.Success
FROM Task_Events.Resources_Usage t1 INNER JOIN Task_Events.job_events
t2 ON t1.job_id = t2.job_id
WHERE t2.Success is not null
當您與job_events聯接時-您很可能在resource_usage中的每個job_id獲得多個事件-因此有多個t2。
這就是使UPDATE感到困惑的原因,因為它期望只有一t2。成功
您需要添加更多條件才能在resources_usage中每行僅產生一個結果。 例如,僅使用最后(最近)事件或第一個事件。 或某種類型的事件等
希望這可以幫助
作為一種選擇,您可以嘗試GROUP BY將多個元素折疊為預期的元素(注意:隨時隨地編寫-只是一個想法):
UPDATE Task_Events.Resources_Usage
SET Success = MAX(t2.Success)
FROM Task_Events.Resources_Usage t1
INNER JOIN Task_Events.job_events t2
ON t1.job_id = t2.job_id
WHERE t2.Success is not null
GROUP BY t1.job_id
我不確定為什么該查詢會產生該錯誤。 我在UPDATE
中看不到標量子查詢。
但是,我認為您打算進行如下查詢:
UPDATE Task_Events.Resources_Usage ru
SET Success = je.Success
FROM Task_Events.job_events je
WHERE je.job_id = ru.job_id AND je.Success is not null;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.