UPDATE monthly_report_c a
LEFT JOIN
(
SELECT DATE_FORMAT((STR_TO_DATE(a.TRANSACTION_DATE,'%d.%m.%Y')), '%Y%m') mnt,
COUNT(DISTINCT a.CUSTOMER_ID) totalNum
FROM spendingtx a
WHERE a.CARD_PROGRAM = "visa"
AND CAST(a.AMOUNT AS DECIMAL(5,2)) > 0.01
GROUP BY DATE_FORMAT((STR_TO_DATE(a.TRANSACTION_DATE,'%d.%m.%Y')),'%Y%m')
) b ON b.mnt = a.Month_Number
.
.
.
SET a.visa = IFNULL(b.totalNum, 0)
上面的代码从表中提取spendingtx
并更新另一个表,该表的第一个字段为yearmonth
(即 201309 201310 ...等)
我收到此错误:
[Err] 1264 - 第 1 行的列 '(null)' 的值超出范围