5

select を使用して mysql update クエリを実行しようとしていますが、エラーが発生します。クエリは次のとおりです。

UPDATE keywords_stats_google_temp SET (Impressions_chg, Clicks_chg, AveragePosition_chg, Ctr_chg, AverageCpc_chg, CurrentMaxCpc_chg, FreeJoins_chg, PaidJoins_chg) = (SELECT 
                SUM(Impressions) AS Impressions,
                SUM(Clicks) AS Clicks,
                SUM(Impressions*AveragePosition)/SUM(Impressions) AS AveragePosition,
                (SUM(Clicks)*revenue_price)/SUM(Impressions) AS Ctr,
                SUM(Spend)/SUM(Clicks) AS AverageCpc,
                CurrentMaxCpc,
                SUM(free_joins) AS FreeJoins,
                SUM(paid_joins) AS PaidJoins
                FROM (SELECT KeywordId FROM keywords_stats_google_temp) a JOIN keywords_stats_google_naughtymeetings b ON b.KeywordId = a.KeywordId WHERE b.TimePeriod >= '2012-04-01 00:00:00'
                AND b.TimePeriod <= '2012-04-23 00:00:00' GROUP BY a.KeywordId, MatchType) 

しかし、「#1064 - SQL 構文にエラーがあります。使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。'(Impressions_chg, Clicks_chg, AveragePosition_chg, Ctr_chg, AverageCpc_chg, Curr' 1行目」

誰でもこれで私を助けることができますか?

ありがとう!

4

1 に答える 1