用query和sql的 union就行了 query.sql.add('select * from a union all selelct * from b'); query.open;
SELECT a.SP_ID, a.SP_NAME, a.SP_MOUNT, a.SP_PRICE1 * a.SP_MOUNT AS kcmoney, b.pfmount, a.SP_PRICE2 * b.pfmount AS pfmoney, c.lsmount, a.SP_PRICE1 * c.lsmount AS lsmoney, d.bsmount, a.SP_PRICE1 * d.bsmount AS bsmoney, e.rkmount, a.SP_INPRICE * e.rkmount AS rkmoney, ((a.SP_PRICE1 * c.lsmount + a.SP_PRICE2 * b.pfmount) - a.SP_PRICE1 * d.bsmount) - a.SP_INPRICE * e.rkmount AS ml FROM dbo.SHPXX a LEFT OUTER JOIN (SELECT sp_id, SUM(pfmx.quantity) AS pfmount FROM pfmx GROUP BY sp_ID) b ON a.SP_ID = b.sp_id LEFT OUTER JOIN (SELECT sp_id, SUM(xsmx.quantity) AS lsmount FROM xsmx GROUP BY sp_id) c ON a.SP_ID = c.sp_id LEFT OUTER JOIN (SELECT SP_ID, SUM(BSMX.QUANTITY) AS bsmount FROM bsmx GROUP BY sp_id) d ON a.SP_ID = d.SP_ID LEFT OUTER JOIN (SELECT sp_id, SUM(rkmx.quantity) AS rkmount FROM rkmx GROUP BY sp_id) e ON a.SP_ID = e.sp_id
insert into (fields) select table1.fields,table2.fields,table3.fields from table1.talble2.table3 where conditon
query.sql.add('select * from a union all selelct * from b');
query.open;
b.pfmount, a.SP_PRICE2 * b.pfmount AS pfmoney, c.lsmount,
a.SP_PRICE1 * c.lsmount AS lsmoney, d.bsmount,
a.SP_PRICE1 * d.bsmount AS bsmoney, e.rkmount,
a.SP_INPRICE * e.rkmount AS rkmoney,
((a.SP_PRICE1 * c.lsmount + a.SP_PRICE2 * b.pfmount) - a.SP_PRICE1 * d.bsmount)
- a.SP_INPRICE * e.rkmount AS ml
FROM dbo.SHPXX a LEFT OUTER JOIN
(SELECT sp_id, SUM(pfmx.quantity) AS pfmount
FROM pfmx
GROUP BY sp_ID) b ON a.SP_ID = b.sp_id LEFT OUTER JOIN
(SELECT sp_id, SUM(xsmx.quantity) AS lsmount
FROM xsmx
GROUP BY sp_id) c ON a.SP_ID = c.sp_id LEFT OUTER JOIN
(SELECT SP_ID, SUM(BSMX.QUANTITY) AS bsmount
FROM bsmx
GROUP BY sp_id) d ON a.SP_ID = d.SP_ID LEFT OUTER JOIN
(SELECT sp_id, SUM(rkmx.quantity) AS rkmount
FROM rkmx
GROUP BY sp_id) e ON a.SP_ID = e.sp_id
select table1.fields,table2.fields,table3.fields
from table1.talble2.table3
where conditon