id      key1     value1   key2     value2    key3    value3
a 0 3 1 3 0 4
b 1 1 4 1 0 3
c 0 1 0 1 3 2
d 0 2 0 5 0 3
e 0 7 0 9 1 2
f 1 3 0 2 5 4要求
1 keys必须有一个key大于零
2 key相同取value最大值的所有记录
3 有数个key大于零 但其中一个或几个不满足第二条 也取出来结果
a 0 3 1 3 0 4
b 1 1 4 1 0 3
c 0 1 0 1 3 2
f 1 3 0 2 5 4

解决方案 »

  1.   

    id      key1    value1  key2    value2    key3    value3 
    a        0        3       1      3         0          4 
    b        1        1       4      1         0          3 
    c        0        1       0      1         3          2 
    d        0        2       0      5         0          3 
    e        0        7       0      9         1          2 
    f        1        3       0      2         5          4 要求 
    1 keys中必须有一个key值大于零 
    2 key相同取等于value最大值的所有记录 
    3 有数个key大于零 但其中一个或几个不满足第二条 也取出结果 
    a        0        3       1      3         0          4 
    b        1        1       4      1         0          3 
    c        0        1       0      1         3          2 
    f        1        3       0      2         5          4 重新排版 请大哥旁忙想想
      

  2.   

    算了 换个简单的问题 求教用户输入一个字符串,长度不限,中间用空格连接
    aaa(空格)bbb(空格)...写一句sql语句 截取前面是10个短字符串(10以后第11个开始的字符串忽视用户输入)
    select 字符串1 字符串2 字符串3 字符串4 字符串5 ....字符串10 from dual使用字符串函数 有没有最简单的截取方式
    取出结果输入
    aaa   bbb   ccc   ddd  eee  fff  ggg hhh iii ppp qqq rrr ...zzz输出
    aaa   bbb   ccc   ddd  eee  fff  ggg hhh iii ppp qqq
      

  3.   

    SQL> create table t1(
      2     name varchar2(1000)
      3  );表已创建。SQL>
    SQL> insert into t1 values('aaa bbb ccc ddd eee fff ggg hhh iii ppp qqq rrr');已创建 1 行。SQL>
    SQL> select substr(name,1,instr(name,' ',1,10)-1) from t1;SUBSTR(NAME,1,INSTR(NAME,'',1,10)-1)
    --------------------------------------------------------------------------------aaa bbb ccc ddd eee fff ggg hhh iii ppp
      

  4.   

    谢谢答案 不过和要求的不一样我是说用
    select 
           通过函数取字符串1,
           通过函数取字符串2,
            通过函数取字符串3,
           通过函数取字符串4, 
           通过函数取字符串5,
           ....
           通过函数取字符串10
    from
           dual
    这种形式输出外加一个问题输出之前 如何用过过程化语句来去掉长字符串两端空格和删除中间非数字,字母和汉字的字符?