日期:2014-05-17  浏览次数:21031 次

一张表内数据取出特定的两行(两列)中的相同字段的数据运算该如何解决
我现在有这样的一个问题。有一张表:

表名取为types
A B C D E
abc 1 2 0.5 1
cde 2 1 0.5 1
fgh 0.5 1 2 0
ijk 0 1 1 2
lmn 2 2 1 0.5

我需要将选择其中的两行或者多行,比如取出abc和lmn,将后面的B,C,D,E列里的数据进行取最大值运算。
得出数据 abc lmn 2 2 1 1

还有第二种需求是取出两列数据,比如取出C列和D列,将C,D列的数据两两相乘。
得出数据 
C*D
1
0.5
2
1
2

请问这应该如何解决呢?

新手发帖,如果有欠缺还请指教!

------解决方案--------------------
这样可以?

SQL code

create table types (a varchar2(10),b number(10,1),c number(10,1),d number(10,1),e number(10,1));

insert into types values ('abc',1,2,0.5,1);
insert into types values ('cde',2,1,0.5,1);
insert into types values ('fgh',0.5,1,2,0);
insert into types values ('ijk',0,1,1,2);
insert into types values ('lmn',2,2,1,0.5); 

select wm_concat(a) a,max(b) b,max(c) c,max(d) d,max(e) e
from types
where a in ('abc','lmn');

    a     b   c   d   e
-----------------------------------------
1    abc,lmn    2    2    1    1


select c*d
from types;

     c*d
------------------
1    1
2    0.5
3    2
4    1
5    2