T1
客户编码  产品编码     产品名称     产品数量    产品单价   产品总价
100001     1001       药品         1          20.3     20.3
100001     1002       香烟         1          10.2     10.2
100001     1003       白酒         1          30.5     30.5
100001     1004       饮料         1          55.6     55.6
100001     1001       药品         1          20.3     20.3
100001     1001       药品         1          21.3     21.3
100001     1003       白酒         1          30.5     30.5
.............................
T2
客户编码    价格
100001      5
100001      5
100001      5
100001      5
100001      5
...............................结果
客户编码  产品编码     产品名称     产品数量    产品单价   产品总价
100001     1001       药品         2          20.3     40.6
100001     1001       药品         1          21.3     21.3
100001     1002       香烟         1          10.2     10.2
100001     1003       白酒         2          30.5       61
100001     1004       饮料         1          55.6     55.6
100001                附加费       5             5       25
——————————————————————————————————————————
注意:
1.在合并相同产品时,编号相同但产品单价不同的不合并
2.附加费是T2表中客户编码相同的相加谢谢

解决方案 »

  1.   

    SELECT 客户编码,产品编码,产品名称,SUM(产品数量),产品单价,SUM(产品数量)*产品单价
    FROM t1
    GROUP BY  客户编码,产品编码,产品名称,产品单价UNION ALL
    SELECT 客户编码,产品编码='',产品名称='附加费',COUNT(*),单价,COUNT(*)*价格
    FROM t2
    GRUOP BY 客户编码,价格--随手敲,可能手误
      

  2.   


    select 客户编码,产品编码,产品名称,sum(产品数量),产品单价,产品总价= 产品单价*sum(产品数量)
    from tb1
    group by 客户编码,产品编码,产品名称,产品单价
    union all
    select  客户编码, '','附加费',count(*),价格,count(*) *价格
    from tb2
    group by 客户编码,价格
    100001 1001 药品 2 20.3 40.6
    100001 1001 药品 1 21.3 21.3
    100001 1002 香烟 1 10.2 10.2
    100001 1003 白酒 2 30.5 61.0
    100001 1004 饮料 1 55.6 55.6
    100001 0 附加费 5 5.0 25.0
      

  3.   

    是啊~~就是T2表中的数据要合并到T1中去的!
    我最后结果中就是把T2表中的数据进行处理后,合并到查询结果中