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表中客户编码相同的相加谢谢
客户编码 产品编码 产品名称 产品数量 产品单价 产品总价
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表中客户编码相同的相加谢谢
FROM t1
GROUP BY 客户编码,产品编码,产品名称,产品单价UNION ALL
SELECT 客户编码,产品编码='',产品名称='附加费',COUNT(*),单价,COUNT(*)*价格
FROM t2
GRUOP BY 客户编码,价格--随手敲,可能手误
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
我最后结果中就是把T2表中的数据进行处理后,合并到查询结果中