LsQuery.SQL.Add('SELECT t0.代码,''(''+t0.代码+'')''+t0.名称 as 项目, iif(isnull(t0.期末数),0,t0.期末数) - iif(isnull(t1.进货),0,t1.进货) + iif(isnull(t2.退货),0,t2.退货) AS 期初数, ');
      LsQuery.SQL.Add('iif(isnull(t1.进货),0,t1.进货) as 进货, iif(isnull(t2.退货),0,t2.退货) as 退货,iif(isnull(t0.期末数),0,t0.期末数) as 期末数 ');
      LsQuery.SQL.Add('FROM ((SELECT 代码,名称,SUM(数量) AS 期末数 FROM jcqdb GROUP BY 代码,名称) As t0 LEFT JOIN ');
      LsQuery.SQL.Add('(SELECT 代码,SUM(数量) AS 进货 FROM jcqdb where 单证类型=''进货'' and 日期>=#'+trim(DBDateTimeEditEh1.Text)+'# and 日期<=#'+trim(DBDateTimeEditEh2.Text)+'# GROUP BY 代码) As t1 on t0.代码=t1.代码) LEFT JOIN ');
      LsQuery.SQL.Add('(SELECT 代码,0 - SUM(数量) AS 退货 FROM jcqdb where 单证类型=''退货'' and 日期>=#'+trim(DBDateTimeEditEh1.Text)+'# and 日期<=#'+trim(DBDateTimeEditEh2.Text)+'#) GROUP BY 代码) As t2 on t0.代码=t2.代码 ');
      LsQuery.SQL.Add('ORDER BY t0.代码 ');