为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:dm8
【操作系统】:win
【CPU】:
【问题描述】*:SELECT A.MONTHSTR AS month, IFNULL( B.areacountmonthCurrentissue, 0.00 ) AS tissue,
IFNULL( B.areacountmonthPreviousperiod, 0.00 ) AS speriod
FROM (
SELECT to_char( date_add( current_date, INTERVAL ( - CAST( help_topic_id AS SIGNED ) - 1 ) MONTH ), 'YYYY-MM' ) MONTHSTR
FROM mysql.help_topic
WHERE help_topic_id < 12
) A
LEFT JOIN (
SELECT SUM( AREACOUNTMONTH_CURRENTISSUE ) AS areacountmonthCurrentissue,
ROUND( (SUM( AREACOUNTMONTH_CURRENTISSUE ) - SUM( AREACOUNTMONTH_PREVIOUSPERIOD )) / SUM( AREACOUNTMONTH_PREVIOUSPERIOD ) * 100, 2 ) AS areacountmonthPreviousperiod,
to_char(MONTH, 'YYYY-MM') AS MONTH
FROM zszx.EM_DISTRICT_INCOME
WHERE 1 = 1
AND MONTH >= to_char( current_date - INTERVAL '12' MONTH, 'YYYY-MM' )
AND ENABLEFLAG = 1
GROUP BY MONTH
) B
ON A.MONTHSTR = B.MONTH
ORDER BY A.MONTHSTR;

把此处改写成这样即可:
add_months( current_date, ( - CAST( help_topic_id AS integer ) - 1 ) )