简体   繁体   English

如何将相关子查询与外部表联接?

[英]how to join correlated subquery with outer table?

I have a query like this - 我有这样的查询-

UPDATE ACTION a 
INNER JOIN subscriberinfo s ON a.subscriberId = s.id AND a.subscriberId=118  
INNER JOIN ticket t ON t.subscriberId = s.id AND s.id=118 
SET a.exceedusage = (SELECT FORMAT(((SUM(dataVolumeDownLink + dataVolumeUpLink))/1048576),2) 
                    FROM cdr c 
                    WHERE c.msisdn =12424474969 
                    AND c.msisdn = s.msisdn
                    AND c.eventDate>t.cdrEventDate 
                    AND c.eventDate < a.actionTakenOn) 
WHERE a.remark='Reason : Data limit crossed' 
AND a.exceedusage IS NULL;

I want to update action tables column, am I doing something wrong in this query? 我想更新操作表列,我在此查询中做错了吗?

Please explain me with an example that how to perform such kind of update,if possible. 请举例说明如何执行这种更新。

Please, use group by where aggregate function is there: 请在有汇总功能的地方使用分组依据:

  UPDATE ACTION a 
    INNER JOIN subscriberinfo s ON a.subscriberId=118  
    INNER JOIN ticket t ON s.id=118 
    SET a.exceedusage = (SELECT FORMAT(((SUM(dataVolumeDownLink + dataVolumeUpLink))/1048576),2) 
                        FROM cdr c 
                        WHERE c.msisdn =12424474969 
                        AND c.eventDate>t.cdrEventDate 
                        AND c.eventDate < a.actionTakenOn group by c.msisdn ) 
    WHERE a.remark='Reason : Data limit crossed' 
    AND a.exceedusage IS NULL;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM