我这样写 qtemp.SQL.Add('select 地区 as a1 ,sum(数量) as a2 ,sum(总金额) as a3 from 固定件登记表 where 是否已出件 =''' + '是'+''' group by 地区 union select 地区 as a1 ,sum(数量) as a2 ,sum(总金额) as a3 from 固定件登记表 where 是否已出件 =''' + '是'+'''');
不好意思 刚才发错了 应该是这样子的qtemp.SQL.Add('select 地区 as a1 ,sum(数量) as a2 ,sum(总金额) as a3 from 固定件登记表 where 是否已出件 =''' + '是'+''' group by 地区 union select 地区 as a1 ,sum(数量) as a2 ,sum(总金额) as a3 from 活动件登记表 where 是否已出件 =''' + '是'+''''); qtemp.Open;
left join 表B b on a.id=b.id
where a.A1=:A1 AND B.B1=:B1
union (all)
select * from b
union
select * from b
union
select B1,B2,B3 from B
一定要注意这两个查询的记录数必定要相等
select a.*,b.* from 表A a join 表B b on a.id=b.id
where a.A1=:A1 AND B.B1=:B1
union
select B1,B2,B3 from B
完全可以实现了
请问该怎么实现昵况且
A1,A2,A3
和
B1,B2,B3
在数据库中的字段名都是一样子的呀
qtemp.SQL.Add('select 地区 as a1 ,sum(数量) as a2 ,sum(总金额) as a3 from 固定件登记表 where 是否已出件 =''' + '是'+''' group by 地区 union select 地区 as a1 ,sum(数量) as a2 ,sum(总金额) as a3 from 固定件登记表 where 是否已出件 =''' + '是'+'''');
刚才发错了
应该是这样子的qtemp.SQL.Add('select 地区 as a1 ,sum(数量) as a2 ,sum(总金额) as a3 from 固定件登记表 where 是否已出件 =''' + '是'+''' group by 地区 union select 地区 as a1 ,sum(数量) as a2 ,sum(总金额) as a3 from 活动件登记表 where 是否已出件 =''' + '是'+'''');
qtemp.Open;