select accounttype.name as 类型名称,sum(amount*price)  from.............
烦,不高兴写了,自己去写,加上一个group by 就可以了

解决方案 »

  1.   

    select b.[name],sum(a.price) from bill a join accounttype b on a.type_id=b.type_id group by b.type_id,a.[name]
    union all
    select b.[name],sum(a.[money]) from pay a join accounttype b on a.type_id=b.type_id group by b.type_id,a.[name]
      

  2.   

    select b.[name] 类型名称,sum(a.price)*sum(a.amount) 金额  from bill a join accounttype b on a.type_id=b.type_id group by b.type_id,a.[name]
    union all
    select b.[name],sum(a.[money]) from pay a join accounttype b on a.type_id=b.type_id group by b.type_id,a.[name]
      

  3.   

    这样也不敢说科学不科学(因为俺就不科学:)),不过至少出结果还是应该不会太难滴~
    *^_^*
    SELECT Code.Name AS "类型名称"
        , SUM(bill.foodname*bill.amount) as "金额"
    FROM bill
    RIGHT.JOIN accounttype as "Code" ON bill.type_id = Code.type_id
    --需要指定客人时,就加这一行
    WHERE Code.guest_id='...'
    ------------------------------
    GROUP BY Code.type_id
    内存不够,SQL Server让我删了,没调试,出错的话8好意思:P
      

  4.   

    大力下手够快的,呵呵,上次Playuer在MSN上开会,看到的是你吧?
    你用UION ALL的意思是不是把明细和合计写在一张单上?
      

  5.   

    上次Playuer在MSN上开会,看到的是你吧?哦,是。你用UION ALL的意思是不是把明细和合计写在一张单上?这个题吗?不是,他是两个表和一个表同时发生关系。
      

  6.   

    pay表我一开始都没注意,见笑了,这个表看得不太明白,能解释一下吗?
      

  7.   

    select b.[name],sum(a.price) from bill a join accounttype b on a.type_id=b.type_id group by b.type_id,a.[name]
    union all
    select b.[name],sum(a.[money]) from pay a join accounttype b on a.type_id=b.type_id group by b.type_id,a.[name]
      

  8.   

    select b.[name] 类型名称,sum(a.price)*sum(a.amount) 金额 
    from bill a join accounttype b on a.type_id=b.type_id where a.guest_id='参数' group by b.type_id,a.[name]
    union all
    select b.[name],sum(a.[money]) from pay a join accounttype b on a.type_id=b.type_id where a.guest_id='参数' group by b.type_id,a.[name]
    就可以了
      

  9.   

    这么多高手这里阿,学习ing~~~~~~~~