一比交易有2条明细,总金额为150,用现金支付30元,用支付卡支付100元,折扣券抵掉20元,
支付卡是冲100送20,所以有折扣率
功能:计算单品的金额
关系:一张交易明细表,存放单品交易信息,一张付款明细表,存放这比交易的付款信息
逻辑:按照每种支付方式的折扣率,分摊到每条明细里相加,得到实际金额。
PS:这个报表要提供给CP,折扣的费用不要有双方共同承担,这个是最终需求。
计算单品的金额公式为
金额=30*(单品实际金额/交易单总金额)+100*(50/60)*(单品实际金额/交易单总金额)请问怎么写过程。

解决方案 »

  1.   

    CREATE TABLE [temp1] (
    [STORENO] [int] NOT NULL ,
    [STORENAME] [NAMETYPE] NULL ,
    [ESTORENAME] [NAMETYPE] NULL ,
    [POSNO] [char] (3) COLLATE Chinese_PRC_CI_AS NULL ,
    [OPRTNO] [char] (8) COLLATE Chinese_PRC_CI_AS NULL ,
    [OPRTNAME] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
    [OPRTENAME] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
    [PRODCODE] [char] (8) COLLATE Chinese_PRC_CI_AS NOT NULL ,
    [PRODNAME] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,
    [PAYNUM] [tinyint] NULL ,
    [SLTYPE] [char] (1) COLLATE Chinese_PRC_CI_AS NOT NULL ,
    [TRANSSTAT] [char] (1) COLLATE Chinese_PRC_CI_AS NULL ,
    [PAYSTAT] [char] (1) COLLATE Chinese_PRC_CI_AS NOT NULL ,
    [SLMNY2] [decimal](38, 2) NULL ,
    [SLPRC2] [decimal](38, 2) NULL ,
    [SLQTY2] [decimal](38, 2) NULL ,
    [DSCNT2] [decimal](38, 2) NULL ,
    [SUPCODE] [char] (7) COLLATE Chinese_PRC_CI_AS NOT NULL ,
    [SUPNAME] [char] (40) COLLATE Chinese_PRC_CI_AS NULL ,
    [WORKDATE] [int] NOT NULL ,
    [selseq] [int] NULL ,
    [selno] [smallint] NULL 
    ) ON [PRIMARY]
    GO
    CREATE TABLE [temp2] (
    [storeno] [int] NOT NULL ,
    [storename] [varchar] (40) COLLATE Chinese_PRC_CI_AS NULL ,
    [estorename] [varchar] (40) COLLATE Chinese_PRC_CI_AS NULL ,
    [workdate] [int] NOT NULL ,
    [oprtno] [char] (8) COLLATE Chinese_PRC_CI_AS NULL ,
    [oprtname] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
    [oprtename] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
    [selseq] [int] NOT NULL ,
    [selno] [smallint] NOT NULL ,
    [paycode] [char] (2) COLLATE Chinese_PRC_CI_AS NOT NULL ,
    [payname] [char] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
    [slmny] [decimal](14, 2) NULL ,
    [cardno] [char] (20) COLLATE Chinese_PRC_CI_AS NULL 
    ) ON [PRIMARY]
    GO
      

  2.   

    条件是temp1.storeno=temp2.storeno and temp1.workdate=temp2.workdate and temp1.selseq=temp2.selseq
    这样店铺对应当天的当笔交易就出来了,然后计算金额
    请各位帮帮忙
    ID刚注册,PUB人不厚道,所以就发到这里来了。
      

  3.   

    temp1:
    STORENO  --店铺编码
    workdate---日期
    selseq  ---交易号
    selno  ----明细号
    SLMNY2 ----金额
    temp2:
    STORENO  --店铺编码
    workdate---日期
    selseq  ---交易号
    selno  ----付款号
    paycode ---付款编码
    payname ----付款方式
    SLMNY ----金额最后是要更新明细,需要用存储过程或者函数来处理,但没这么复杂的经验,请教 roy_88,麻烦给个大致的例子