在进销存中,怎么算出当月利润呢?我的数据库是ACCESS,
销售明细表,进货明细表,
当我在制定一张销售明细单据的时候,保存的成功后,立即算出这张销售明细单的利润!并把所得到的利润存入利润表
可这样的SQL语句要如何写呀?

解决方案 »

  1.   

    sum语句,利润是如何算的?库结构?
    库结构决定你是用SQL还是用计算字段等方式 .
      

  2.   

    一个库存表
    产品 型号 价格 数量 日期 
    CPU Intel 200 10 2002-10-3
    CPU SELEON 150 7 2002-10-5
    主板 微星 120 2 2002-10-8
    主板 华硕 300 5 2002-10-8XS001这张销售单所对应的销售明细表为:
    产品 型号 价格 数量 日期 
    CPU Intel 500 5 2002-10-20
    CPU SELEON 180 3 2002-10-20
    主板 微星 130 2 2002-10-20那么请问怎么用SQL语句算出XS001这张销售单对应的销售明细表的毛利润呢?
    谢谢。我有一个利润表的!
    利润表结果
    单据   利润   日期
      
      

  3.   

    select a.单据,sum((a.价格-b.价格)*a.数量) as 利润,min(a.日期) as 日期 from 销售明细表 a,库存表 b
    where a.产品=b.产品 and a.型号=b.型号
    and a.单据='XS001'
      

  4.   

    海阔天空,你好!
    不行呀!我一开始用的也是这样的方法!我用的是access数据库!
    with adoquery1 do
    begin
      close;
      sql.Clear;
      sql.add('select xsmx.xs,sum((xsmx.rjjg-jhmx.rjjg)*xsmx.shuliang) as lirun,min(xsmx.shijian) as shijian from xsmx,jhmx  where xsmx.rjmc=jhmx.rjmc  and xsmx.xs='''+dbedit1.text+'''');
      open;
      edit1.text:=adoquery1.FieldValues['lirun']提示试图执行的查询中不包含做位合计函数一部分的特定表达式'xs'.
      

  5.   

    对不起,写少了select a.单据,sum((a.价格-b.价格)*a.数量) as 利润,min(a.日期) as 日期 from 销售明细表 a,库存表 b
    where a.产品=b.产品 and a.型号=b.型号
    and a.单据='XS001'
    group by a.单据
    with adoquery1 do
    begin
      close;
      sql.Clear;
      sql.add('select xsmx.xs,sum((xsmx.rjjg-jhmx.rjjg)*xsmx.shuliang) as lirun,min(xsmx.shijian) as shijian from xsmx,jhmx  where xsmx.rjmc=jhmx.rjmc  and xsmx.xs='''+dbedit1.text+''' group by xsmx.xs');
      open;
      edit1.text:=adoquery1.FieldValues['lirun']