今天在写update的sql时,遇到了:
[Err] 1054 - Unknown column 'tsd.n_acco_id' in 'on clause'
这个错误。
sql如下:
SELECT n_absolute_yields /100*365/DATEDIFF(i_d_busi_date,via.d_begin_date) FROM (SELECT n_acco_id,n_absolute_yields FROM A WHERE d_date = d_last_work_day) tif RIGHT JOIN B ON tsd.n_acco_id = via.n_id WHERE tif.n_acco_id = tsd.n_acco_id
原因:要把联合的表用括号包含起来才行。
修改后语句为:
SELECT n_absolute_yields /100*365/DATEDIFF(i_d_busi_date,via.d_begin_date) FROM ( (SELECT n_acco_id,n_absolute_yields FROM A WHERE d_date = d_last_work_day) tif , B ) WHERE tsd.n_acco_id = via.n_id WHERE tif.n_acco_id = tsd.n_acco_id