我的SQL语句如下:
sqlstr := 'select a.taskid, a.selfcode, a.c_wtcode, e.d_wtdate, a.cIcontent, b.dp_name, c.ciname, d.csname, a.bfr_ibsmoney, a.aft_ibsmoney ';
sqlstr := sqlstr + ' ,a.beg_plantime ,a.end_plantime, a.deptheadadv, a.masteradv, a.st_id ';
sqlstr := sqlstr + ' ,a.c_bilname, a.c_bilman, a.c_bilcall, a.c_conname, a.c_conman, a.c_concall, a.c_inspname, a.c_inspman, a.c_inspcall ';
sqlstr := sqlstr + ' ,a.cicode, a.cscode, a.dp_id, e.ar_code, f.st_state ';
sqlstr := sqlstr + ' from taskform a inner join class c on a.cicode = c.cicode ';
sqlstr := sqlstr + ' inner join specialty d on a.cscode = d.cscode ';
sqlstr := sqlstr + ' inner join department b on a.dp_id = b.dp_id ';
sqlstr := sqlstr + ' inner join standingorder e on a.c_wtcode = e.c_wtcode ';
sqlstr := sqlstr + ' inner join state f on a.st_id = f.st_id ';
sqlstr := sqlstr + ' where '; sqlstr := sqlstr + ' e.d_wtdate between ' + quotedstr(datetostr(dtp_begwtdate.Date)) + ' and ' + quotedstr(datetostr(dtp_endwtdate.Date)) ;
sqlstr := sqlstr + ' order by a.c_wtcode desc '; dm_prjmag.adoqry_taskform.SQL.Clear;
dm_prjmag.adoqry_taskform.SQL.Add(sqlstr); try
dm_prjmag.adoqry_taskform.Active := true;
dm_prjmag.adoqry_taskform.FieldByName('taskid').DisplayLabel := '[+]';
except
dm_prjmag.adoqry_taskform.Active := false;
end;执行‘ dm_prjmag.adoqry_taskform.Active := true;’后就出现ambiguous column name ‘c_wtcode'"这个问题,请问如何解决?谢谢!
sqlstr := 'select a.taskid, a.selfcode, a.c_wtcode, e.d_wtdate, a.cIcontent, b.dp_name, c.ciname, d.csname, a.bfr_ibsmoney, a.aft_ibsmoney ';
sqlstr := sqlstr + ' ,a.beg_plantime ,a.end_plantime, a.deptheadadv, a.masteradv, a.st_id ';
sqlstr := sqlstr + ' ,a.c_bilname, a.c_bilman, a.c_bilcall, a.c_conname, a.c_conman, a.c_concall, a.c_inspname, a.c_inspman, a.c_inspcall ';
sqlstr := sqlstr + ' ,a.cicode, a.cscode, a.dp_id, e.ar_code, f.st_state ';
sqlstr := sqlstr + ' from taskform a inner join class c on a.cicode = c.cicode ';
sqlstr := sqlstr + ' inner join specialty d on a.cscode = d.cscode ';
sqlstr := sqlstr + ' inner join department b on a.dp_id = b.dp_id ';
sqlstr := sqlstr + ' inner join standingorder e on a.c_wtcode = e.c_wtcode ';
sqlstr := sqlstr + ' inner join state f on a.st_id = f.st_id ';
sqlstr := sqlstr + ' where '; sqlstr := sqlstr + ' e.d_wtdate between ' + quotedstr(datetostr(dtp_begwtdate.Date)) + ' and ' + quotedstr(datetostr(dtp_endwtdate.Date)) ;
sqlstr := sqlstr + ' order by a.c_wtcode desc '; dm_prjmag.adoqry_taskform.SQL.Clear;
dm_prjmag.adoqry_taskform.SQL.Add(sqlstr); try
dm_prjmag.adoqry_taskform.Active := true;
dm_prjmag.adoqry_taskform.FieldByName('taskid').DisplayLabel := '[+]';
except
dm_prjmag.adoqry_taskform.Active := false;
end;执行‘ dm_prjmag.adoqry_taskform.Active := true;’后就出现ambiguous column name ‘c_wtcode'"这个问题,请问如何解决?谢谢!
' a.beg_plantime ,a.end_plantime, a.deptheadadv, a.masteradv, a.st_id ,a.c_bilname, a.c_bilman, a.c_bilcall, a.c_conname, a.c_conman, ' +
' a.c_concall, a.c_inspname, a.c_inspman, a.c_inspcall,a.cicode, a.cscode, a.dp_id, e.ar_code, f.st_state ' +
' from taskform a, department b, class c, specialty d, standingorder e, state f
where a.cicode=c.cicode and a.cscode=d.cscode and a.dp_id=b.dp_id and ' + ' a.c_wtcode=e.c_wtcode and a.st_id = f.st_id '
' and e.d_wtdate between ' + QuotedStr(FormatDateTime('yyyy-mm-dd', dtp_begwtdate.Date)) + ' and ' + QuotedStr(FormatDateTime('yyyy-mm-dd', dtp_endwtdate.Date)) +
' order by a.c_wtcode desc ' dm_prjmag.adoqry_taskform.Close; //先关闭;
dm_prjmag.adoqry_taskform.SQL.Clear;
dm_prjmag.adoqry_taskform.SQL.Add(sqlstr); try
dm_prjmag.adoqry_taskform.Open;
dm_prjmag.adoqry_taskform.FieldByName('taskid').DisplayLabel := '[+]';
except
dm_prjmag.adoqry_taskform.Active := false;
end;
Thank you!