现有表A: 有字段A1,A2,A3(A1为字符串,A2为整数型,A3为货币型)    表B:字段相同.但记录不相同。
要实现功能,可否用一个SQL语句来实现,查询到到两张表的数据。

解决方案 »

  1.   

    select a.*,b.* from 表A a
    left join 表B b on a.id=b.id
    where a.A1=:A1 AND B.B1=:B1
      

  2.   

    select * from a 
    union (all)
    select * from b
      

  3.   

    select * from a 
    union 
    select * from b
      

  4.   

    select A1,A2,A3 from A
    union
    select B1,B2,B3 from B
    一定要注意这两个查询的记录数必定要相等
      

  5.   

    优化查询
    select a.*,b.* from 表A a join 表B b on a.id=b.id
    where a.A1=:A1 AND B.B1=:B1
      

  6.   

    这些SQL语句是没有问题但是我的表记录完全不一样呀比如 a.id=b.id  所有的记录都不满足这个条件呀
      

  7.   

    select A1,A2,A3 from A
    union
    select B1,B2,B3 from B
    完全可以实现了
      

  8.   

    我还人按照A1来分组呀
    请问该怎么实现昵况且
    A1,A2,A3

    B1,B2,B3
    在数据库中的字段名都是一样子的呀
      

  9.   

    我这样写
    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 是否已出件 =''' + '是'+'''');
      

  10.   

    不好意思
    刚才发错了
    应该是这样子的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;