Update 语句中的子查询在 Snowflake 中不起作用

Subquery in Update statement not working in Snowflake

我在 Snowflake 中 运行 下面的查询:

UPDATE PROVIDER_XO_SCORE_TABLE AS PXS 
SET PXS.PROVIDER_ID = (SELECT P.PROVIDER_ID 
                       FROM PROVIDER_TABLE P 
                       WHERE PXS.XPI = P.XPI);

此查询在 MySql 中运行良好,但在 Snowflake 中给出以下错误消息。

SQL编译错误:

Unsupported subquery type cannot be evaluated

您可以使用类似连接的语法 UPDATE...FROM:

UPDATE PROVIDER_XO_SCORE_TABLE PXS 
SET PROVIDER_ID = P.PROVIDER_ID
FROM PROVIDER_TABLE P 
WHERE PXS.XPI = P.XPI;