count(*)子查询后边要跟表名

子查询后面要跟子表名称 (t):

SELECT count(*) FROM ( 
        SELECT  ap.QUARTER_ID , ar.AREA_NAME , ap.REGION_NAME ,
                case WHEN ap.APPLY_TYPE = 1 THEN '集中' WHEN ap.APPLY_TYPE = 2 THEN '增补'  ELSE '' END APPLY_TYPE_NAME ,
                ap.OUT_APPLY_NO , ac.ACTIVITY_ID , ac.ACTIVITY_NAME , ac.ACTIVITY_BEGIN_DATE ,
                ac.ACTIVITY_END_DATE ,
                case WHEN ap.RES_TYPE = 1 THEN '物料' WHEN ap.RES_TYPE = 2 THEN '营销烟'  ELSE '' END RES_TYPE_NAME ,
                de.RES_ID , re.RES_NAME , de.PRICE , de.COUNT , ROUND((de.PRICE * de.COUNT),4)  AS TOTAL_PRICE
        FROM out_apply ap
        LEFT JOIN activity ac ON ap.ACTIVITY_ID = ac.ACTIVITY_ID
        LEFT JOIN base_area ar ON ac.AREA_ID = ar.AREA_ID
        LEFT JOIN out_apply_detail de
        ON ap.OUT_APPLY_ID = de.OUT_APPLY_ID
        LEFT JOIN base_resource re
        ON de.RES_ID = re.RES_ID    

) t;
这里要跟子表名称 : (t) , 否则查询失败;

愿编程让这个世界更美好

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容