表 a                          
id 公司 出库数  时间
1   A    5        3-8
2   A    5        3-7
3   A    5        3-7表 b
id 公司 入库数  时间
1   A    5         3-8
1   A    10       3-8要查询结果是
公司 入库数     出库数        时间
A      15        5             3-8
A       0      10              3-7   
   
 
收藏0 邀请 . 
  

解决方案 »

  1.   

    表错了 
    出库表                                入库表 
    id 公司 是否出库  时间         id     公   司  是否入库 时间
    1    A   1        3-8        1     A      1       3-8
    2    A   1        3-7        2     A       1         3-8
    3    A   1        3-7  
    要查询结果是
    公司 入库数 出库数 时间
    A     2      1    3-8
    A     0      2    3-7  
      

  2.   

    create table 出库 (id number(2),公司 varchar2(2), 时间 date ,是否出库 (1出库,0未出)char(1));
    insert into 出库 values(1,'A','2012-3-8',1);
    insert into 出库 values(2,'A','2012-3-8',1);
    insert into 出库 values(3,'A','2012-3-8',1);
    insert into 出库 values(4'A','2012-3-8',1);
    insert into 出库 values(5,'A','2012-3-7',1);
    insert into 出库 values(6,'A','2012-3-7',1);create table 入库 (id number(2),公司 varchar2(2), 时间 date ,是否入库 (1入库,0未入)char(1));
    insert into 入库 values(1,'A','2012-3-8',1);
    insert into 入库 values(2,'A','2012-3-8',1);
    insert into 入库 values(3,'A','2012-3-8',1);
    insert into 入库 values(4,'A','2012-3-8',1);实现查询的数据是
    出入表
    时间             公司    出库数   入库数
    2012-3-8        A         4          4
    2012-3-7        A         2          0表结构大概是这样
      

  3.   

    这时间  应该是取的入库和出库时间合并吧? 
    select a.公司 ,nvl(sum(b.入库数),0) 入库数,nvl(sum(a.出库数),0) 出库数,t1.时间
    from
    (select 时间 from a
     union 
    select 时间 from b) t1
    left join
    a on t1.时间=a.时间
    left join 
    b on t1.时间=b.时间
    where a.公司=b.公司
    group by a.公司,t1.时间
    order by a.公司,t1.时间 desc
      

  4.   


    create table 出库(id number(2),公司  nvarchar2(20),时间  date,是否出库 number);
    insert into 出库 values(1,'A',date'2012-03-08',1);
    insert into 出库 values(2,'A',date'2012-03-08',1); 
    insert into 出库 values(3,'A',date'2012-03-08',1); 
    insert into 出库 values(4,'A',date'2012-03-08',1);    
    insert into 出库 values(5,'A',date'2012-03-07',1); 
    insert into 出库 values(6,'A',date'2012-03-07',1); 
     
    create table 入库 (id number(2),公司 nvarchar2(20), 时间  date ,是否入库 number);
    insert into 入库 values(1,'A',date'2012-03-08',1);
    insert into 入库 values(2,'A',date'2012-03-08',1);
    insert into 入库 values(3,'A',date'2012-03-08',1);
    insert into 入库 values(4,'A',date'2012-03-08',1);
    select distinct a.时间,a.公司,sum(a.是否出库) 出库数,sum(a.是否入库) 入库数
    from 
    (select 时间,公司,是否出库,0 是否入库  from 出库
    union all
    select 时间,公司,0,是否入库  from 入库 ) a
    group by a.时间,a.公司
    order by a.时间 desc
             时间         公司   出库数  入库数
    --------------------------------------------
    1 2012/3/8 A 4 4
    2 2012/3/7 A 2 0
      

  5.   


    select 公司,
           sum(入库数),
           sum(出库数),
           时间
      from (
            select a.公司     as  公司, 
                   0         as  入库数,
                   decode (a.是否出库, '1', 1, 0)
                             as  出库数,
                   a.时间     as  时间
                from a
            union all
            select b.公司     as  公司, 
                   decode (b.是否入库, '1', 1, 0)
                             as  入库数,
                   0         as  出库数,
                   b.时间     as  时间
                from b
            )
    group by 公司,时间
    order by 公司,时间