主要是你的:select distinct 2,m.cus_no,convert(varchar(10),m.bil_dd,20),m.bil_no,round(m.amtn,2),round(m.amt,2),round(m.amtn_rcv,2),round(m.amt_rcv,2),
(select s.name from salm as s where s.sal_no=m.sal_no) as sal_no,
(select s.name from salm as s where s.sal_no=m.USR_NO) as usr_no,m.CUR_ID,m.REM,c.NAME,(select mf_pss.cus_os_no from mf_pss where mf_pss.ps_no=m.bil_no) as CUS_OS_NO /*修改此处,*/
from CUST as c,MF_ARP as m,mf_pss as s
where c.CUS_NO=m.CUS_NO
/*and m.bil_no=s.ps_no 修改的第二处,新代码此处删去*/
and m.arp_id='1'
and m.BIL_DD between dateadd(dd,-1,@BegDate) and @EndDate
and m.CUR_ID like @CUR_ID
and m.CUS_NO like @CUS_NO
and m.usr_no like @USR_NO查询效率低,使插入超时,如果你不改SQL,改应用程序,让它不超时就可以了。另外,你的SQL语句,不太好,要效率高,要重改,并且相应的索引要建好!!
(select s.name from salm as s where s.sal_no=m.sal_no) as sal_no,
(select s.name from salm as s where s.sal_no=m.USR_NO) as usr_no,m.CUR_ID,m.REM,c.NAME,(select mf_pss.cus_os_no from mf_pss where mf_pss.ps_no=m.bil_no) as CUS_OS_NO /*修改此处,*/
from CUST as c,MF_ARP as m,mf_pss as s
where c.CUS_NO=m.CUS_NO
/*and m.bil_no=s.ps_no 修改的第二处,新代码此处删去*/
and m.arp_id='1'
and m.BIL_DD between dateadd(dd,-1,@BegDate) and @EndDate
and m.CUR_ID like @CUR_ID
and m.CUS_NO like @CUS_NO
and m.usr_no like @USR_NO查询效率低,使插入超时,如果你不改SQL,改应用程序,让它不超时就可以了。另外,你的SQL语句,不太好,要效率高,要重改,并且相应的索引要建好!!
至于你新改的,没有高效的索引.
(select s.name from salm as s where s.sal_no=m.USR_NO) as usr_no这两个子查询有用吗?没见过同一个条件还能查询出不同的结果
冒昧问一下:
哥们可是用的天心ERP?
这两个子查询是有用的,它分别关联出业务员和制单员。是。你有什么好建议?