簡體   English   中英

標量子查詢產生了多個元素

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM