现在用Dbgrid或TDbgridEh显示查询结果如此厂商编号 商品编号 数量 金额
1 1 10 100
1 2 20 200
1 3 30 300
1 4 40 400 2 1 10 100
2 2 20 200 3 1 10 100
3 2 20 200
3 3 30 300相在按厂商编码分组对数量和金额显示合计,希望显示成:厂商编号 商品编号 数量 金额
1 1 10 100
1 2 20 200
1 3 30 300
1 4 40 400
1 合计 100 1000 2 1 10 100
2 2 20 200
2 合计 30 300 3 1 10 100
3 2 20 200
3 3 30 300
3 合计 60 600能做吗,或者有否其它方法显示按厂商合计结果
1 1 10 100
1 2 20 200
1 3 30 300
1 4 40 400 2 1 10 100
2 2 20 200 3 1 10 100
3 2 20 200
3 3 30 300相在按厂商编码分组对数量和金额显示合计,希望显示成:厂商编号 商品编号 数量 金额
1 1 10 100
1 2 20 200
1 3 30 300
1 4 40 400
1 合计 100 1000 2 1 10 100
2 2 20 200
2 合计 30 300 3 1 10 100
3 2 20 200
3 3 30 300
3 合计 60 600能做吗,或者有否其它方法显示按厂商合计结果
union
select 厂商编 as 厂商编,' ' as 商品编号 ,sum(数量) as 数量,sum(金额) as 金额 from table
group by 厂商编
order by 厂商编
adoquery1.sql.Clear;
adoquery1.SQL.Add('SELECT 厂商编号,商品编号,数量,金额 FROM TABLE1
UNION ALL
SELECT 厂商编号+' ','合计', SUM(数量),sum(金额) FROM TABLE1
GROUP BY 厂商编号
ORDER BY 厂商编号');
open;
//我沒有測試 with AdoQuery1 do
begin
Close;
SQL.Text :=
'select 廠商編號,商品編號,數量,金額 from tablename ' +
'union select 廠商編號,''合計'',sum(數量),sum(金額) ' +
' from tablename group by 廠商編號 ' +
'order by 廠商編號,商品編號';
Open;
end;