select sdata+data3 from (
select date,sum(data1+data2) sdata from table1
where date='20070722' group by date
) t,table2
where t.date=table2.date

解决方案 »

  1.   

    select  sdata+data3  from  (  
    select  date,sum(data1+data2)  sdata  from  table1  
    where  date='20070722'  group  by  date  
    )  t,(select date,sum(data3) data3 from table2 
    where date='20070722' group by date ) t2
    where  t.date=t2.date  
      

  2.   

    select sum(t1.data1+t1.data2+t2.data3),max(t1.data1+t2.data2+t3.data3) from table1 t1,table2 t2 where t1.date=t2.date and t1.date='20040722' group by t1.date
      

  3.   

    谢 bzszp(www.bzszp.533.net) 的提示,再请教你一个问题,
    table1:
    字段:data1,data2,data3,data4,data5
        1    3     4     6     2
    如何取得同一记录不同字段的最大值(Max=6)
      

  4.   

    --测试:
    create table table1(dat char(8),data1 number,data2 number);
    insert into  table1 values('20040722',     5   ,     6);
    insert into  table1 values('20040722' ,    7  ,      8);
    insert into  table1 values('20040723'  ,   1 ,       2);
    insert into  table1 values('20040723'   ,  7,        2);create table table2(dat char(8),data3 number);
    insert into table2 values('20040722',    5);
    insert into table2 values('20040723' ,   6);
    select sum(data1) from (
      select dat,data1 from table1
      union all
      select dat,data2 from table1
      union all
      select dat,data3 from table2
    )
    where dat = '20040722';select * from (
      select dat,sum(data1) data1 from (
        select dat,data1 from table1
        union all
        select dat,data2 from table1
        union all
        select dat,data3 from table2  
      )
      group by dat

    order by data1 desc; 
    select max(data1) from (
      select dat,sum(data1) data1 from (
        select dat,data1 from table1
        union all
        select dat,data2 from table1
        union all
        select dat,data3 from table2  
      )
      group by dat
    )/*
    SUM(DATA1)
    ----------
            31已选择 1 行。
    DAT           DATA1
    -------- ----------
    20040722         31
    20040723         18已选择2行。
    MAX(DATA1)
    ----------
            31已选择 1 行。
    */
      

  5.   

    yown(yong) 的语句会出现数据的笛卡尔乘积。
    select largest(data1,data2,data3,data4,data5) from table1;
      

  6.   

    :(
    select greatest(data1,data2,data3,data4,data5) from table1;
      

  7.   

    解答!1、select sum(a.data1)+sum(a.data2)+sum(b.data3) from table1 a,table2 b 
    where a.date='20040722' and b.date='20040722';
      

  8.   

    谢bzszp(www.bzszp.533.net),问题再次解决,另SQL语句是否有长度限制,在SQL*PLUS里有时我输入长度太长,执行不了
      

  9.   

    --谢bzszp(www.bzszp.533.net),问题再次解决,另SQL语句是否有长度限制,在SQL*PLUS里
    --有时我输入长度太长,执行不了 sql语句基本没有限制,我写过百行的语句,没有问题,你说的sql * PLUS中的输入太长
    是因为你没有换行,你写了一部分就可以换行,写完了加一个分号就可以运行表示语句结束。